Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INFORME DE LABORATORIO 3
ESTRUCTURAS ITERATIVAS
Docente
Jaime Andrés Pérez Hinestroza
Algoritmia y Programación
Grupo 03
OBJETIVOS
Por otro lado la Salida para este programa será el promedio de las letras de los
nombres de los 5 compañeros del usuario.
Promedio Variable tipo Real
1.2. Proceso
Luego de tener definidas nuestras entradas y salidas el proceso que se debe
realizar es el siguiente:
Definir la función promedio nombres que calculará el promedio
Declarar número de letras vacío al iniciar el programa para que guarde la
longitud de la cadena que se hará después.
Declaramos nuestro primer ciclo definiendo el número de letras por medio
de los comandos len y for, len i for i in nombres, lo cual concatenará la
longitud de la cadena (nombres) y lo guardará en la variable número de
letras.
Definimos el cálculo del promedio, que será la suma del número de letras
sobre len del número de letras.
Le pedimos a la función que definimos como promedio nombres al inicio
que retorne el promedio.
Facultad de Ingeniería
Escuela de Ingeniería de Sistemas y Computación
Algoritmia y Programación Grupo 03 Laboratorio 3
Docente Jaime Andrés Pérez Hinestroza
Cristian Uparela, Sebastián Salas, Mauricio Moreno y David De la Rosa
Mostrar promedio
FIN
3. Prueba de escritorio
En esta prueba de escritorio se elabora una tabla en la cual tendremos todas las
variables que modifican nuestro programa para así poder identificar el buen
funcionamiento de nuestro programa o de lo contrario identificar algún error y
poder corregirlo antes de realizar la ejecución del mismo.
INSTRUCCIONES Contador Nombre Concatenar Longitud Promedio Mensaje
(i) nombre cadena
- - - - - - -
Pedir nombre y 0 Juan [Juan] - - -
concatenar
Pedir nombre y 1 Manuel [Juan, - - -
concatenar Manuel]
Pedir nombre y 2 Fredy [Juan, - - -
concatenar Manuel,
Fredy]
Pedir nombre y 3 Alexander [Juan, - - -
concatenar Manuel,
Fredy,
Alexander]
Pedir nombre y 4 Leonardo [Juan, - - -
concatenar Manuel,
Fredy,
Alexander,
Leonardo]
Longitud de cadena 4 Leonardo [Juan, [4,6,5,9,8] - -
Manuel,
Fredy,
Alexander,
Leonardo]
Calcular promedio 4 Leonardo [Juan, [4,6,5,9,8] 6.4 -
Manuel,
Fredy,
Alexander,
Leonardo]
Mensaje 4 Leonardo [Juan, [4,6,5,9,8] 6.4 El promedio
Manuel, de las letras
Fredy, de los
Alexander, nombres de
Facultad de Ingeniería
Escuela de Ingeniería de Sistemas y Computación
Algoritmia y Programación Grupo 03 Laboratorio 3
Docente Jaime Andrés Pérez Hinestroza
Cristian Uparela, Sebastián Salas, Mauricio Moreno y David De la Rosa
Leonardo] sus
compañeros
es 6.4
Para iniciar nuestro segundo código empezamos por definir la variable Nombres
como [ ] lo cual nos indica que cuando definamos esta variable los datos que se
ingresen serán concatenados, posteriormente, definimos for i in range (5) hacer
lo cual nos indica que la indicación siguiente deberá repetirse 5 veces, y esa
instrucción será pedir nombre, es decir, se pedirá el nombre cinco veces, por
ultimo definimos promedio = promedio(nombres) para que promedio quede
definido como la función que hicimos en el primer ciclo y le pedimos al programa
que muestre el promedio de las letras en los nombres de las cinco personas. Al
codificar esta información nuestro segundo ciclo queda así:
Facultad de Ingeniería
Escuela de Ingeniería de Sistemas y Computación
Algoritmia y Programación Grupo 03 Laboratorio 3
Docente Jaime Andrés Pérez Hinestroza
Cristian Uparela, Sebastián Salas, Mauricio Moreno y David De la Rosa
Al unir los dos ciclos y crear un solo ciclo anidado y ejecutarlo podemos ver la
siguiente información:
Facultad de Ingeniería
Escuela de Ingeniería de Sistemas y Computación
Algoritmia y Programación Grupo 03 Laboratorio 3
Docente Jaime Andrés Pérez Hinestroza
Cristian Uparela, Sebastián Salas, Mauricio Moreno y David De la Rosa
1.2. Proceso
Pedir número de iteraciones (n)
Pedir X (Número al que se hallará coseno)
Definir exponente=0 para inicializar el ciclo.
Definir resultado=0 para inicializar el ciclo.
Declarar el primer ciclo como i in range (0, n*2,2) hacer, que nos indica que
el número de iteraciones lo multiplicará por dos y hará saltos de 2 en 2, esto
se hace así porque así es la fórmula de la aproximación del coseno.
Luego de tener el rango se le suma 1 al resultado antes definido. (resultado
+=1)
Definimos el factorial como No.
Facultad de Ingeniería
Escuela de Ingeniería de Sistemas y Computación
Algoritmia y Programación Grupo 03 Laboratorio 3
Docente Jaime Andrés Pérez Hinestroza
Cristian Uparela, Sebastián Salas, Mauricio Moreno y David De la Rosa
Para el siguiente ciclo definimos el ciclo for h in range (i +1) hacer, h es una
nueva variable, no usamos i porque para poder definir el range nuevo
debemos sumar i +1, por cual llamamos h.
Definimos condicionales para este nuevo ciclo, si h es igual a 0 entonces
factorial es igual a 1
De lo contario factorial es igual a factorial*=h.
También debemos considerar que si resultado es módulo de 2 entonces
Exponente-=(x**1)/factorial.
De lo contrario, exponente+=(x**1)/factorial.
Mostrar iteraciones
Mostrar valor del coseno.
De lo contrario exponente+=(x**1)/factorial
Mostrar iteraciones
Mostrar valor coseno
FIN
3. Prueba de escritorio
Instrucciones N X Exponent Resultad i Factorial h H=0 %Resultado=0 Mensaje
e o ? ?
Pedir N 5 - - - - - - - - -
Pedir N 5 2 - - - - - - - -
Iniciar 5 2 0 - - - - - - -
exponente
Iniciar 5 2 0 0 - - - - - -
resultado
Iniciar 5 2 0 0 0 - - - - -
contador
Iniciar factorial 5 2 0 1 0 0 - - - -
Iniciar h 5 2 0 1 0 0 0 - - -
H=0? 5 2 0 1 0 0 0 True - -
Entonces 5 2 0 1 0 1 0 True - -
valor factorial
es
%resultado=0? 5 2 0 1 0 1 0 True False -
Entonces 5 2 0 1 0 1 0 True False -
sumar o restar
exponente
Mensaje 5 2 0 1 0 1 0 True False Iteración
1=1
Iteración 1
Iteración 2
Instrucciones N X Exponent Resultad i Factorial h H=0 %Resultado=0 Mensaje
e o ? ?
Pedir N 5 - - - - - - - - -
Pedir N 5 2 - - - - - - - -
Iniciar 5 2 1 - - - - - - -
exponente
Iniciar 5 2 1 2 - - - - - -
resultado
Iniciar 5 2 1 2 2 - - - - -
Facultad de Ingeniería
Escuela de Ingeniería de Sistemas y Computación
Algoritmia y Programación Grupo 03 Laboratorio 3
Docente Jaime Andrés Pérez Hinestroza
Cristian Uparela, Sebastián Salas, Mauricio Moreno y David De la Rosa
contador
Iniciar factorial 5 2 1 2 2 0 - - - -
Iniciar h 5 2 1 2 2 0 0 - - -
H=0? 5 2 1 2 2 0 0 True - -
Entonces 5 2 1 2 2 1 0 - -
valor factorial
es
5 2 1 2 2 1 1 False - -
5 2 1 2 2 1 2 - -
5 2 1 2 2 1 2 False - -
5 2 1 2 2 2 2 - -
%resultado=0? 5 2 1 2 2 2 2 True True -
Entonces 5 2 -1 2 2 2 2 -
sumar o restar
exponente
Mensaje 5 2 -1 2 2 2 2 Iteración
2=-1
Iteración 3
Instrucciones N X Exponent Resultado i Factorial h H=0 %Resultado=0? Mensaje
e ?
Pedir N 5 - - - - - - - - -
Pedir N 5 2 - - - - - - - -
Iniciar 5 2 -1 - - - - - - -
exponente
Iniciar 5 2 -1 3 - - - - - -
resultado
Iniciar 5 2 -1 3 4 - - - - -
contador
Iniciar factorial 5 2 -1 3 4 0 - - - -
Iniciar h 5 2 -1 3 4 0 0 - - -
H=0? 5 2 -1 3 4 0 0 True - -
Entonces 5 2 -1 3 4 1 0 - -
valor factorial
es
5 2 -1 3 4 1 1 False - -
5 2 -1 3 4 1 2 - -
5 2 -1 3 4 1 2 False - -
5 2 -1 3 4 2 2 - -
5 2 -1 3 4 2 3 - -
5 2 -1 3 4 2 3 False - -
5 2 -1 3 4 6 3 -
5 2 -1 3 4 6 4
5 2 -1 3 4 6 4 False - -
5 2 -1 3 4 24 4 - - -
Facultad de Ingeniería
Escuela de Ingeniería de Sistemas y Computación
Algoritmia y Programación Grupo 03 Laboratorio 3
Docente Jaime Andrés Pérez Hinestroza
Cristian Uparela, Sebastián Salas, Mauricio Moreno y David De la Rosa
Iteración 4
Iteración 5
Instrucciones N X Exponent Resultad i Factoria h H=0 %Resultado=0 Mensaj Mensaje
e o l ? ? e final
Pedir N 5 - - - - - - - - - -
Pedir N 5 2 - - - - - - - - --
Iniciar 5 2 -0.422 - - - - - - - -
exponente
Iniciar 5 2 -0.422 5 - - - - - - -
resultado
Iniciar 5 2 -0.422 5 8 - - - - - -
contador
Iniciar 5 2 -0.422 5 8 0 - - - - -
factorial
Iniciar h 5 2 -0.422 5 8 0 0 - - - -
H=0? 5 2 -0.422 5 8 0 0 True - - -
Entonces 5 2 -0.422 5 8 1 0 - - -
valor factorial
es
5 2 -0.422 5 8 1 1 Fals - - -
e
5 2 -0.422 5 8 1 1 - - -
5 2 -0.422 5 8 1 2 - - -
5 2 -0.422 5 8 1 2 Fals - - -
e
5 2 -0.422 5 8 2 2 - - -
5 2 -0.422 5 8 2 3 - - -
5 2 -0.422 5 8 2 3 Fals - -
e
5 2 -0.422 5 8 6 3 -
5 2 -0.422 5 8 6 4 - - -
5 2 -0.422 5 8 6 4 Fals - - -
e
5 2 -0.422 5 8 24 4 - -
5 2 -0.422 5 8 24 5 - ---
5 2 -0.422 5 8 24 5 Fals - -
Facultad de Ingeniería
Escuela de Ingeniería de Sistemas y Computación
Algoritmia y Programación Grupo 03 Laboratorio 3
Docente Jaime Andrés Pérez Hinestroza
Cristian Uparela, Sebastián Salas, Mauricio Moreno y David De la Rosa
e
5 2 -0.422 5 8 120 5 - --
5 2 -0.422 5 8 120 6 - -
5 2 -0.422 5 8 120 6 Fals - -
e
5 2 -0.422 5 8 720 6 - -
5 2 -0.422 5 8 720 7 - -
5 2 -0.422 5 8 720 7 Fals -
e
5 2 -0.422 5 8 5040 7 -
5 2 -0.422 5 8 5040 8 -
5 2 -0.422 5 8 5040 8 Fals -
e
5 2 -0.422 5 8 40320 8 -
%resultado=0 5 2 -0.422 5 8 40320 8 False -
?
Entonces 5 2 -0.422 5 8 40320 8 false - -
sumar o restar
exponente
Mensaje 5 2 -0.422 5 8 40320 8 False Iteración -
5=-
0.415
Mensaje 5 2 -0.422 5 8 40320 8 Cos(x)=
0.41587
3
Procedemos a inicializar nuestro primer ciclo, haciendo uso de los comandos for
y range de la siguiente, for i in range (0,2*n, 2) lo que esto nos indica es que el
range estará entre cero y n*2 dando saltos de dos en dos, cabe aclarar que se
multiplica n*2 por que en la fórmula de series Maclaurin los exponentes van de dos
en 2 al igual que los denominadores de los polinomios, y lo que debe hacer este
ciclo es que para cada i de dicho rango debe sumarle 1 al resultado que habíamos
inicializado en cero (Resultado+=1).
Ahora inicializamos nuestros segundo ciclo que nos determinará el factorial, para
ello empezamos por definir factorial como none ya que así le damos un valor a
esta variable sin necesidad de darle un número, seguido a eso declaramos el ciclo
como for h in range (i + 1) la h funciona igual que la i en el primer ciclo, solo que
ahora se define como h porque necesitamos el valor de la i calculado en el ciclo
anterior para hallar el range del nuevo ciclo, es decir, en caso de usar otra vez la i
en este ciclo en lugar de cualquier otra letra se presentaría un error.
Luego de tener definido nuestro ciclo de esta manera debemos asignarle algunas
condiciones, para ello hacemos uso de los condicionales if y else de la siguiente
manera, si h es igual a cero entonces el factorial será de lo contrario el programa
deberá multiplicar el valor del h por factorial, del mismo modo, si el resultado es
módulo de 2 entonces se debe realizar la siguiente operación exponente-=
(x**i)/factorial de lo contrario la operación que deberá realizar es la siguiente
exponente-= (x**i)/factorial, por ultimo le pedimos al programa que imprima las
iteraciones y el valor aproximado del coseno.
Facultad de Ingeniería
Escuela de Ingeniería de Sistemas y Computación
Algoritmia y Programación Grupo 03 Laboratorio 3
Docente Jaime Andrés Pérez Hinestroza
Cristian Uparela, Sebastián Salas, Mauricio Moreno y David De la Rosa