You are on page 1of 11

Capítulo 7

Repeticiones
(Iteraciones)

CC2005 - Algoritmos y Programación Básica - 2010 1


Objetivo
Conocer la instrucción while para
repeticiones.
Comparaciones de igualdad con
flotantes.

CC2005 - Algoritmos y Programación Básica - 2010 2


Agenda
Print con coma al final
Instrucción while
Sumatorias
Contadores
Ejemplo de algoritmo de Newton.
Comparaciones de igualdad con flotantes

CC2005 - Algoritmos y Programación Básica - 2010 3


Print con comma al final
La coma al final de la instrucción print
suprime el cambio de línea.
El siguiente script:
print 5,
print 6,
print 7
>>>
567

CC2005 - Algoritmos y Programación Básica - 2010 4


Instrucción while
Repite una serie de instrucciones,
mientras la condición se cumpla:
i=0
while i < 5:  se repite mientras i sea menor que 5
print i,  estas instrucciones son repetidas
i=i+1  regresa a evaluar la condición

print "\nfinal del while“  ya esta fuera de la repetición

CC2005 - Algoritmos y Programación Básica - 2010 5


Contadores
Contador: x = x + 1
x=0  iniciar el contador
while x < 5:  límite del contador
print x,  instrucciones que se repiten

x=x+1  se incrementa el contador

¿cuántas veces se repite?

CC2005 - Algoritmos y Programación Básica - 2010 6


Sumatorias
Sumatoria: suma = suma + cantidad
suma = 0  iniciar la suma
x=0
while x < 5:  límite de cuantos datos sumar
suma = suma + x  sumatoria
x=x+1  se incrementa dato a sumar
print “\nSumatoria es: “, suma

>>>
Sumatoria es: 10
CC2005 - Algoritmos y Programación Básica - 2010 7
Señalar fin de repetición
Solicitar datos hasta una señal de fin. El
-1 indica fin de esta repetición:
suma = 0
n = int(raw_input(“ingrese numero (-1 es fin)”))
while n != -1:
suma = suma + n
n = int(raw_input(“ingrese numero (-1 es fin)”))

CC2005 - Algoritmos y Programación Básica - 2010 8


Señalar fin de repetición
Solicitar datos hasta una señal de fin. La
palabra “FIN” indica terminar repetición:
suma = 0
n = raw_input(“ingrese numero (FIN para terminar)”)
while n != “FIN”:
n = int(n)  convertirlo a un número entero
suma = suma + n
n = int(raw_input(“ingrese numero (FIN para terminar)”))

CC2005 - Algoritmos y Programación Básica - 2010 9


Comparación de flotantes
Si tiene dos valores flotantes: x, y
No utilice x==y para compararlos, ya
que por su representación pueden tener
muchas cifras decimales que hacen que
no sean iguales.
Usar mejor abs(x-y) < 0.00001
abs(z) regresa el valor absoluto de z

CC2005 - Algoritmos y Programación Básica - 2010 10


Algoritmo de Newton (raíz cuadrada)
a = 4.0 #se encontrará la raíz cuadrada de 4
y =a
x = 3.0 #primera aproximación para la raíz cuadrada de 4
while abs(x-y) > 0.000001: #no comparar x == y
x=y
print x
y = (x + a/x)/2

print "la raiz cuadrada de a es: ",x

CC2005 - Algoritmos y Programación Básica - 2010 11

You might also like