Professional Documents
Culture Documents
Algoritmo
1. inicializar variable n con valor 2
2. repetir hasta que n > 30:
escribir n y n
sumar 1 a n
alternativamente
1.inicializar variable n con valor 2
2. repetir mientras n 30:
escribir n y n
sumar 1 a n
Programa
import math
#inicializar variable n con valor 2
n=2
#repetir mientras n<=30
while n<=30:
#escribir n y n
print n,math.sqrt(n)
#sumar 1 a n
n=n+1
Nota.
n=n+1#inst de asignacin: variable=expresin;
1 evala (calcula) expresin.
Ej: calcula n+1 (1vez 2+1=3, 2vez 3+1=3,)
2 guarda resultado en variable.
Ej. en variable n (1vez 3, 2vez 4,)
Instruccin while
Sintaxis
while condicin:
instrucciones
Semntica
Mientras condicin se cumpla (sea True) ejecutar instruccin(es)
graficamente:
condicin
True
instrucciones
False
instruccin
n=2
n<=30
print n,
n=n+1
n<=30
print n,
n=n+1
efecto
n: 2
True
2 1.4
n: 3
True
3 1.7
n: 4
85
86
87
88
89
90
instruccin
efecto
n=n+1
n<=30
print n,
n=n+1
n<=30
n: 30
True
30 5.4
n: 31
False
fin
Programa:
#acumulador(sumatoria) y contador de nmeros
suma=0.0 #por si se ingresan slo enteros
n=0
#obtener primer nmero
numero=input("nmero?")
#repetir hasta fin de datos
while numero!=0 :
#procesar numero
suma=suma+numero
n=n+1
print "cuenta=",n,promedio=,suma/n
#obtener siguiente nmero
numero=input("nmero?")
suma=0
suma: 0
n=0
n: 0
numero=input()
numero: 4.5
numero!=0
True
suma=suma+numero
suma: 4.5
n=n+1
n: 1
print ,n,,suma/n
cuenta=1 promedio=4.5
numero=input()
numero: 5.5
numero!=0
True
10
suma=suma+numero
suma: 10.0
11
n=n+1
n: 2
12
print ,n,,suma/n
cuenta=2 promedio=5.0
13
numero=input()
numero: 0
14
numero!=0
False
15
fin
Dilogo (ejemplo)
n?4
4!=24
n?0
0!=1
(0!=1)
Solucin 2 : x! = x * (x-1) * * 1
def factorial(x):
producto=1
while x>0:
producto=producto*x
x=x-1
return producto
Nota.
x termina con el valor 0
argumento en la llamada no se modifica
ejemplo: factorial(n) no modifica n
(0!=1)
(0!=1)