Está en la página 1de 14

Jael Gallardo N.

Sergio Pavez P.
  Trabajo 2

Escuela de Ingeniería Eléctrica


Facultad de Ingeniería
Valparaíso, 1 de abril de 2021
Trabajo 2

Jael Gallardo N.
Sergio Pavez P.

Escuela de Ingeniería Eléctrica de la


Facultad de Ingeniería de la
Pontificia Universidad Católica de Valparaíso

Sr. Sebastian Bruna Stevenson

Profesor

Valparaíso, 1 de abril de 2021


Índice general
Resumen...............................................................................................................................1

1 Ejercicios de programación...............................................................................................2
1.1 Estructuras algorítmicas selectivas..........................................................................................................2
1.2 Número de sonidos..................................................................................................................................3
1.3 Funciones.................................................................................................................................................3
1.4 Paso de funciones como parámetros........................................................................................................3
1.5 Arreglo y funciones.................................................................................................................................3

Conclusiones........................................................................................................................5

Bibliografía...........................................................................................................................6
Resumen
En el siguiente trabajo se desarrolla diferentes códigos solicitados en sus diferentes problemáticas a
solucionar, por lo cual, se utiliza diferentes métodos en la solución de este, utilizando como lenguaje de
programación de alto nivel de python. Por lo que en el presente informe se describe cada código
desarrollado en el trabajo para tener una pequeña descripción de cada código para entender cada uno de los
códigos.

1
1 Ejercicios de programación

1.1 Ejercicio 1
Para desarrollar en la totalidad esta actividad en el desarrollo de códigos mediante Python, se instala Python
en terminal, por lo que se utiliza el comando “apt install python3” para instalarlo para posteriormente
desarrollar los códigos posteriores.

1.2 Ejercicio 2
En el código implementado se utilizó la librería math con el fin de poder utilizar el método “math.pi” para
utilizar la variable pi, para poder obtener el área del circulo, tomando en consideración la entrada ingresada
la variable de radio por un input, para posterior reemplazo en la formula. Finalizando mostrando en pantalla

2
Ejercicios de programación

el mensaje “El área del circulo en centímetro es…” e indicando también el radio ingresado como “…con un
radio …”.

1.3 Ejercicio 3
El código se utilizó un input como variable int llamado “valor_b”, donde posteriormente se procedió
desarrollar las igualdades entradas, comenzado el igualar la entrada “b” con la variable “a”, desarrollando
las siguientes sentencias, imprimiendo en pantalla “El resultado de…” la ecuación dada y imprimiendo el
resultado de este en cada caso.

1.4 Ejercicio 4
En el caso de este código se utilizó un input para ingresar la variable de entrada de interés, en este caso
ingresar un nombre de tal forma pueda repetirla mil veces, entonces, ingresada la variable que en este caso
de ejemplo se utilizó como modo de ejemplo el nombre “Alonso”, lo que se imprime primero el nombre que
se ingresó con el print indicándolo como “El nombre ingresado fue…” y posteriormente imprimiendo mil
veces este nombre. Esto se logró utilizando la concatenación de un string, agregando un espacio de
separación después del nombre y multiplicarlo mil veces.

1.5 Ejercicio 5
Se implementó dos inputs para solicitar las dos edades que se querían comparar, guardando la primera edad
en una variable lalmda “edad_1” y la segunda en la variable “edad_2”. Así posteriormente comprar ambas

3
Ejercicios de programación

situaciones, cuando “edad_1” es mayor a “edad_2” o viceversa, en caso de que no sea así se asume que
ambas edades son iguales, indicándolas.

1.6 Ejercicio 6
Se compara el cuadrado del primero con el segundo número ingresado, al compararlos, se puede saber si el
segundo es más grande que el cuadrado del primero menor o igual.

1.7 Ejercicio 7
El código realizado se basó en la fórmula de Bailey-Borwein-Plouffe, que consta en una sumatoria infinita
de “k” igual a cero hasta infinito, como se puede observar en la ecuación de acontinuación.

∑ 161 k ( 8 k4+1 − 8 k2+ 4 − 8 k1+5 − 8 k1+ 6 )


k=0

Por lo cual, en el código se utilizó “decimal” para poder trabajar de mayor cantidad y exactitud el código,
por lo cual, se utilizó el método getcontext().prec para indicar la cantidad de decimales que quería obtener
en la formula elegida, que en nuestro caso definimos como 1500. Por lo cual, se utilizó un while True, para
dejar un loop infinito para obtener pi, solo terminaría este loop cuando el calculo de pi se volviera calcular
no hubiera cambio, indicando que ya no va a variar el valor terminándolo con un break.

4
Ejercicios de programación

1.8 Ejercicio 8
Este caso de código se disponía de antemano las variables varA y varB con un valor de entero o string a
comparar, por lo que se comparaban en dos casos estas variables si eran entero o string, por lo cual se utilizó
el método “isinstance” para poder identificarlo, entregando un boleano si era verdadero o falso. El primer
caso podía ser que ambas eran enteras, donde se llamaba la función “comparador” para ver las tres
posibilidades, mayor, menor o igual. Posteriormente pasaba dos casos cuando uno de los dos era distinto,
por lo cual indicaban que las variables era variables diferentes y finalmente cuando ambas variables eran
string indicando que eran ambos string.

1.9 Ejercicio 9
1.9.1 Ejercicio 2.1
El código expuesto realizara un contenido, imprimiendo en pantalla desde 0 hasta 5 por la condición del
while, ya que la variable num es 0 y es aumentado progresivamente por 1 hasta cumplir la condición de
menor igual a 5, imprimiendo hasta el 5. Posteriormente al terminar el condicional se imprime “Outside of
loop” indicando que ya dejo el loop del while y finalizando, imprimiendo en pantalla num, que en este caso
es 6, ya que al terminar while en 5 se aumenta el num en 1 en la línea 10 del código.

1.9.2 Ejercicio 2.2


El código entregado en este caso el análisis se hace en el primer loop, que si se comienza con la variable
condicional de “numberOfLoops” en 0 y estará en while hasta que sea mayor a 10, se ve que
“numberOfApples” es duplicado, teniendo un valor de 4, posteriormente se aumenta dependiendo de la
variable de “numberOfApples” que en este caso es 0, manteniendo “numberOfApples” en 4 y finalmente
reduciendo “numberOfLoops” en 1 por lo que queda en -1 y así reduciendo esta variable en -1 todos los
ciclos que se repita, y como while no terminara si no llega a 10 como valor este while nunca finalizara
quedando de forma infinita, esto incluyendo el valor de “numberOfApples” ya que el valor se duplica y el
valor de “numberOfLoops” es lineal este crecerá de forma infinita de igual manera.

1.9.3 Ejercicio 2.3


En este caso el código tiene como condición del while que si es mayor a 3 la variable es reducida en 1 y
posteriormente se imprime su valor, por lo cual como parte con el valor 10 el primer valor que mostrara es
el 9 porque se reduce en uno, como se dijo anterior y posteriormente muestra en pantalla, por lo cual
mostrara en pantalla desde el 9 hasta el 3 siguiendo la misma lógica.

1.9.4 Ejercicio 2.4


El caso de este código se utiliza un while true, lo que significa que está en un loop de forma infinita, por lo
cual el if dentro de está encargada el romper este loop, y de forma específica cuando la variable “num” sea
menor a 7. Por lo cual, en while true imprime la variable “num” y posterior reduciendo su valor en 1, hasta
llegar el valor de 6 en este punto entra la condicional del if imprimiendo en consola “Breaking out of loop”
finalizando el loop e imprimiendo para finalizar el código “Outside of loop”.

5
Ejercicios de programación

1.9.5 Ejercicio 2.5


En este código es similar al caso del 2.2 visto anteriormente, ya que se está utilizando while not false es
prácticamente lo mismo que un while true, ya que es la negación de la negación, por lo cual es un loop
infinito. La condición para romper este loop es que la variable “num” sea menor a 0, pero como no existe
ningún reductor para esta variable “num” está siempre con el valor 100 asi nunca cumpliendo la condición y
terminando el loop.

1.10 Ejercicio 10
El ejercicio se resolvió mediante el uso de un while como condición que si era menor o igual a 7 se
calculaba el numero a imprmir multiplicando 2 por la variable, imprimiendo esta variable, finaliznado con el
aumento del contador n para obtener el numero a entregar. Y si era mayor a 7 del contador imprimiendo
“Adios!”.

Ahora para el segundo caso que se requería utilizar un for para solucionarlo, se utilizó el método “reversed”
para invertir el rango dado el “range(1,6)”. Por lo cual, el contador i dentro el for comenzaría desde el valor
5, por lo cual se utilizó una condición if que si “i” era igual a 5 imprimiera “hello”, ademáse de multiplicar
este contador por 2, imprimiendo en pantalla ese resultado, que además sería 10. Posteriormente se utilizó
un elif para los casos menor de 5, que solo imprimiría el resultado de la operación del contador por 2.
Mostrando posteriormente los resultados de 8 hasta 2.

1.11 Ejercicio 11
El desarrollo del código se utilizó un for mediante un contador i dentro del rango 1 hasta la variable “n”
ingresada mediante input, por lo que imprime dentro del rango seleccionado y sumando estos números,
guardándolo en la variable suma. Y finalizando, imprimiendo el resultado de esta sumatoria.

6
Ejercicios de programación

1.12 Ejercicio 12
1.12.1 Ejercicio 5.1
El código imprime en pantalla dos situaciones disponibles, cuando se divide en 4 su residuo es 0 o cuando
se divide en 16 y su residuo es 0. Por lo cual, prueba con la “variable” de entrada que es de 0 hasta 19,
donde el primer caso a imprimir es 0, que cumple ambos casos, ¡imprimiendo el número que es la condición
de dividir en 4 y al cumplir el dividir en 16 imprime “Foo!”. Y esto se repite, cumpliendo en múltiplos de 4
la primera situación, mostrando 4,8,12 y en el caso del 16 cumpliendo ambos casos, repitiendo la situación
del 0, ¡mostrando el número y mostrando nuevamente “Foo!” y finalizando las variables a mostrar, ya que el
17 hasta 19 no cumple en ninguna de las situaciones.

1.12.2 Ejercicio 5.2


Este código sencillo es algo engañoso, ya que si uno lo ve de forma rápida pensaría que simplemente
imprimiría la palabra “hola” a secas, pero por utilizar la condicional for como variable de entrada letter una
string hace que recorra este string, letra por letra hasta completar la palabra y como la única acción dentro
de este for es un print, va imprimiendo cada letra de la palabra hasta terminar su recorrido, por lo cual,
imprime “h”, “o”,”l” y finalmente “a” terminando el código.

1.12.3 Ejercicio 5.3


El código se asemeja al anterior, la diferencia que se en tiene con situaciones especiales. Primero, ahora en
vez de imprimir sola la letra al recorrer la palabra que en este caso es “Snow!”, se imprime la variable que
esta guardado el string, indicando posteriormente la posición de la letra al correr la palabra, considerando
que cuando se recorre un string se comienza en la posición 0 y posteriormente indicando que letra esta en
esa posición, posteriormente aumentando el contador utilizado (“count”) para indicar la posición. Segundo
que es consecuente al termino del for es el break después de aumentar el contador, que este finaliza
automáticamente el for sin finalizar su loop para recorrer la palabra, por lo cual, lo único que alcanzaría
mostrar en pantalla es “Letter #0 is S”, siguiendo la idea dicha anteriormente, indicando la variable, numero
de la posición del string y finazliando que letra está en esa posición, y finalmente finalizando el código
indicando cuantas posiciones alcanza contar en la palabra, en este caso puntual seria 1.

1.13 Ejercicio
1.13.1 Ejercicio 6.1
El código es bastante similar analizado en el ejercicio 12 en el 5.2 donde es almacén en la variable “mySrt”
el string ‘EIE501-1’, y de igual forma recorriendo la palabra imprimiendo carácter por carácter hasta

7
Ejercicios de programación

terminar el for al recorrerlo, finalizando, imprimiendo ‘done’. Por lo cual imprime una vez cada letra
contenida en la variable.

1.13.2 Ejercicio 6.2


El código recorre el string en greeting que es ‘Hello!’, y aumentnado el contador “count” cada vez que hace
la repiticion del for y hacen de volver repetir el for entra a comprobar la condición if si el contador al dividir
en 2 su residuo es 0, si es el caso imprimir la letra que corresponde cuando esta recorriendo el string, en el
primer caso es H y el contador es 1, no cumpliendo el if pasando solo imprmir la letra de la posición de la
palabra, porque si cumple la condición se imprime dos veces la letra del recorrido al cumplir el if de la
división y después finalizando el print del for, entonces cuando el contador sea un multiplo de dos
imprimirá dos veces la letra cuando la este recorriendo considerando que se arreglo de tal forma que la
primera letra sea 1 y no 0 como seria la posición del string, por lo cual, imprimiría lo siguiente el código al
finalizar todo el recorrido de la palabra “Heelllo!!” finalizando el código con ‘done’. Por lo cual, imprime
una H, una e, tres veces l y finalmente una sola o.

1.13.3 Ejercicio 6.3


El código recorre el string guardada en school con el nombre “Pontificia Universidad Católica de
Valparaiso”, de tal forma que al recorrerla guarde la cantidad de veces que encontró las letras en la
condición if en la variable numVowels, mientras que cuando si cumplía al encontrar ‘s’ o ‘P’ lo imprimiera
en pantalla y si no fuera ninguna de las condiciones anteriores fuera contando de forma negativa en la
variable ‘numCons’, finaliznado con la impresión de ambos contadores. Por lo cual, no se imprime ninguna
‘o’ ya que no esta escrito en el código, pero se imprime una cantidad de una ‘P’ y dos ‘s’. Mientras
siguiendo la misma lógica, el contador de numVowels alcanza a contar 19 de las condiciones dadas y
numCons cuenta de forma negativa de -23.

1.14 Ejercicio 14
Se debe realizar un programa que este orientado a objetos, para esto se eligió la jerarquía que se muestra en
la siguiente figura.

8
Ejercicios de programación

Luego de hacer esta jerarquía se probó el funcionamiento de este, se muestran los parámetros ingresados y
se modifica el autor

9
Ejercicios de programación

Conclusiones
En el presente trabajo se busca desarrollar habilidad en el ámbito de la programación de tal forma que se
pueda adaptar diversas situaciones, con lo cual pueda brindar una solución a esta, además de ser lo más
optimo posible, sin mencionar ya las herramientas ya vistas previamente, como es la conexión de ssh en el
transcurso de la creación de los algoritmos y el uso de Github para la creación de los repositorios asociados
a estos códigos.

10
Ejercicios de programación

Bibliografía

[1] Repositorio «https://github.com/grupo18-gallardo-pavez/Ejercicio2» [En línea].

[2] Calculadora«https://es.calcuworld.com/calculadoras-matematicas/calculadora-binaria/»[En línea].

11

También podría gustarte