Professional Documents
Culture Documents
Programacin
CLASE 5
ITERACIONES
EJERCICIO PROPUESTO
Se desea calcular la siguiente serie finita, para n = 100:
2 + 2
3 + 6
=1
Fundamentos de Computacin y
Programacin
INTRODUCCIN
Hemos visto hasta el momento como definir y utilizar
variables, constantes y operadores para resolver
clculos complejos.
Muchas veces, esto implica repetir instrucciones que ya
fueron escritas anteriormente, pero que ahora hacen
clculos sobre distintos datos.
Una de las ventajas del computador es la posibilidad de
programarlo para realizar clculos repetitivos sin
necesidad de escribir instrucciones repetidas.
Para ello vamos a ver una de las formas de repetir
instrucciones, llamada iteracin.
3
OBJETIVOS
Conocer el funcionamiento bsico de la iteracin en
Python
Comprender la semntica y sintaxis de las sentencias
iterativas
Tomar conciencia de las tautologas dentro de
programas iterativos
Utilizar la iteracin para repetir un proceso n veces
Realizar trazas para predecir la salida del cdigo
Utilizar sentencias print para depurar el cdigo
Fundamentos de Computacin y
Programacin
SENTENCIAS ITERATIVAS
Flujo de una sentencia
iterativa (while)
FUNCIONES ITERATIVAS
Estructura de la sentencia while:
<Sentencias previas>
while <condicin>:
<sentencias a repetir>
<sentencias despus del ciclo>
Fundamentos de Computacin y
Programacin
SENTENCIAS ITERATIVAS
Una funcin iterativa tiene como base una condicin
que detiene la iteracin.
Supongamos que se quieren sumar los nmeros del 1
al 10
Alguna idea?
SENTENCIAS ITERATIVAS
Solucin uno: Escribir las sumas necesarias para
llegar al resultado:
suma = 1+2+3++10
print La suma de los primeros
10 nmeros es:, suma
Solucin dos: Utilizar una frmula:
n = 10
suma = n*(n+1)/2
print La suma de los primeros, n,
nmeros es:, suma
8
Fundamentos de Computacin y
Programacin
SENTENCIAS ITERATIVAS
Tercera opcin: Escribir un programa iterativo:
# ENTRADA
numero = 10
# PROCESAMIENTO
i = 0
suma = 0
while i <= numero :
suma = suma + i
i = i + 1
# SALIDA
print "La suma de los primeros", numero,
print "nmeros, es: ", suma
10
Fundamentos de Computacin y
Programacin
SENTENCIAS ITERATIVAS
Analicemos el programa
# ENTRADA
numero = 10
# PROCESAMIENTO
i = 0
suma = 0
while i <= numero :
suma = suma + i
i = i + 1
# SALIDA
print "La suma de los primeros", numero,
print "nmeros, es: ", suma
11
SENTENCIAS ITERATIVAS
Analicemos el programa
# ENTRADA
numero = 10
# PROCESAMIENTO
i = 0
suma = 0
while i <= numero :
Condicin
suma = suma + i
i = i + 1
# SALIDA
print "La suma de los primeros", numero,
print "nmeros, es: ", suma
12
Fundamentos de Computacin y
Programacin
SENTENCIAS ITERATIVAS
Analicemos el programa
# ENTRADA
numero = 10
# PROCESAMIENTO
i = 0
NO DEBE SER
TAUTOLOGA
suma = 0
while i <= numero :
Condicin
suma = suma + i
i = i + 1
# SALIDA
print "La suma de los primeros", numero,
print "nmeros, es: ", suma
13
SENTENCIAS ITERATIVAS
Analicemos el programa
# ENTRADA
numero = 10
# PROCESAMIENTO
i = 0
suma = 0
while i <= numero :
La variable suma
almacena el resultado
parcial de cada iteracin
suma = suma + i
Fundamentos de Computacin y
Programacin
SENTENCIAS ITERATIVAS
Analicemos el programa
# ENTRADA
numero = 10
# PROCESAMIENTO
i = 0
suma = 0
while i <= numero :
Se aumenta en 1 el valor
de i para que este se
vaya acercando al valor
de nmero en cada paso
suma = suma + i
i = i + 1
# SALIDA
15
avance
SENTENCIAS ITERATIVAS
numero = 10
# PROCESAMIENTO
i = 0
suma = 0
while i <= numero :
suma = suma + i
i = i + 1
# SALIDA
16
Fundamentos de Computacin y
Programacin
TRAZAS
Analicemos el programa, ahora con numero = 5
# ENTRADA
numero = 5
Inicio
numero
suma
10 15
# PROCESAMIENTO
i = 0
suma = 0
Iteracin
Variable\Valor
suma = suma + i
i = i + 1
# SALIDA
print "La suma de los primeros", numero,
print "nmeros, es: ", suma
17
TRAZAS
Analicemos el programa, ahora con numero = 5
# ENTRADA
numero = 5
Inicio
numero
suma
10 15
# PROCESAMIENTO
i = 0
suma = 0
Iteracin
Variable\Valor
suma = suma + i
Al proceso
de revisar manualmente el comportamiento del
i = i + 1
cdigo en base a las variables involucradas, se le conoce como
# SALIDA
realizar una traza del programa
print "La suma de los primeros", numero,
print "nmeros, es: ", suma
Fundamentos de Computacin y
Programacin
CONSIDERACIONES
Qu pasa si colocamos una tautologa como
condicin?
i = 0
while i < 10:
print Mensaje Original
CONSIDERACIONES
Es comn cometer errores cuando se comienza a escribir
programas iterativos
A veces el problema est en que el cdigo se queda atrapado
en el ciclo while por una tautologa
Otras veces no hemos declarado las variables correctamente en
el cdigo
Y a veces las instrucciones pueden estar en un orden que no
permiten a Python ejecutarlas correctamente
Es por ello que debemos realizar trazas para verificar que el cdigo
funciona e ir corrigiendo los errores que vayamos encontrando
Al proceso de encontrar y corregir errores se le conoce como
depuracin o debug y podemos hacerlo utilizando trazas y
poniendo print en lugares especficos para ver si el programa
20
est ejecutando un conjunto de sentencias
10
Fundamentos de Computacin y
Programacin
CONSULTAS?
11