Professional Documents
Culture Documents
Algoritmia Y Programación
Algoritmia Y Programación
PROGRAMACIÓN
ESTRUCTURAS ITERATIVAS
Contenido
Estructuras de Repetición
for
Ciclos anidados
Contadores y acumuladores
Ejercicios
EISC
Universidad del Valle
Slide 2
Estructuras de Repetición
EISC
Universidad del Valle
Slide 3
Estructuras de Repetición
Pseudocódigo
Python
Para for
mientras que while
EISC
Universidad del Valle
Slide 5
Estructuras de Repetición
Entradas: ??
Salidas: ??
Proceso:??
EISC
Universidad del Valle
Slide 6
Estructuras de Repetición
Entradas: n
Salidas: ??
Proceso:??
EISC
Universidad del Valle
Slide 7
Estructuras de Repetición
Entradas: n
Salidas:
imprimir (número 1)
imprimir (número 2)
.
.
imprimir (número n)
Proceso:??
EISC
Universidad del Valle
Slide 8
Estructuras de Repetición
Entradas: n
Salidas:
imprimir (número 1)
imprimir (número 2)
.
.
imprimir (número n)
Proceso:
desde 1 hasta n
EISC
Universidad del Valle
Slide 9
Estructuras de Repetición
Entradas: n
Salidas:
imprimir (número 1)
imprimir (número 2)
.
.
imprimir (número n)
Proceso:
desde 1 hasta n
Imprimir 1,2,3,.....n
EISC
Universidad del Valle
Slide 10
Estructuras de Repetición
Inicio
n: entero
???
Fin
EISC
Universidad del Valle
Slide 11
Estructuras de Repetición
Inicio
n: entero
i: entero (Variable de control)
Fin
EISC
Universidad del Valle
Slide 12
Estructuras de Repetición
pseudocódigo Python
EISC
Universidad del Valle
Slide 13
Estructuras de Repetición
pseudocódigo Python
EISC
Universidad del Valle
Slide 14
Estructuras de Repetición
Expresión de inicio,
Expresión de condición y
Expresión de incremento/decremento.
Para i = 1 hasta n; incrementar i en 1 for i in range (1,n+1):
Haga
Imprimir (i) print (i)
Fin_para
EISC
Universidad del Valle
Slide 15
Estructuras de Repetición
Estructura
. de la instrucción for en Pytho
Se debe Inicializar la
variable de probar el valor final de
declarar la
control la variable de control
variable de para continuar el ciclo
control
Estructura
. de la instrucción for en Python
Se debe Inicializar la Incremento o
variable de probar el valor final de decremento de la
declarar la
control la variable de control variable de control
variable de para continuar el ciclo
control
EISC
Universidad del Valle
Slide 17
Estructura for
Expresión de inicio
Expresión de incremento/decremento
EISC
Universidad del Valle
Slide 18
Estructura for
Ejemplo:
EISC
Universidad del Valle
Slide 19
Estructura for
Qué imprimen estas funciones?
def ejemplo1():
n=100
for i in range (0, (n+1), 1):
print (i)
def ejemplo2():
n=0
for i in range (100, (n-1), -1):
print (i)
EISC
Universidad del Valle
Slide 20
Estructura for
Ejemplo:
def listarNumeros():
for i in range (1, 6,1):
print (“Número”,i)
Valor Salida El número de iteraciones
de i
indica la cantidad de veces que
1 “Número 1” se repite la(s) instrucción(es)
2 “Número 2” que estén en el cuerpo del
3 “Número 3” ciclo.
4 “Número 4”
En el ejemplo, la instrucción:
5 “Número 5” print (“Número”,i)
se ejecuta 5 veces.
EISC
Universidad del Valle
Slide 21
Estructura for
Ejemplo:
def cicloPrueba():
for i in range (18, 10,-2):
print (i)
EISC
Universidad del Valle
Slide 22
Estructura for
Ejemplo:
def cicloPrueba():
for i in range (18, 10, -2):
print (i)
18 1 18
La instrucción:
16 2 16
print (i)
14 3 14 se ejecuta 4 veces
12 4 12
Se interrumpe
EISC
Universidad del Valle
Slide 23
Estructura for
Ejemplo:
def muestraAlgo():
for i in range (0, 20):
if (i%2 == 0):
print ("El valor de i es ", i)
EISC
Universidad del Valle
Slide 24
Estructura for
Ejemplo:
def muestraAlgo2( ):
for j in range (0,101):
if ((j % 3) == 0):
print (“El valor de J es“, j)
else:
print (j,“NO es divisible por 3.." )
EISC
Universidad del Valle
Slide 25
Estructura for
Una vez el ciclo se interrumpe se ejecuta la instrucción ubicada
después de él. Por ejemplo:
a=0
a k salida
0 0
1
1
2
2
3 3
EISC
Universidad del Valle
Slide 26
Estructura for
Una vez el ciclo se interrumpe se ejecuta la instrucción ubicada
después de él. Por ejemplo:
a=0 a k salida
0 0
for k in range (0,5,2) : 1 2
a=a+1 2 4
3 El valor
print (“El valor de a es: ” + a)
de a es: ”
+ 3
La variable a inicia con el valor de cero (0).
Se ingresa al ciclo y se ejecuta tres (3) veces la instrucción a+=1
Luego se muestra en pantalla: El valor de a es: 3
EISC
Universidad del Valle
Slide 27
Estructura for
Ejercicio 1:
EISC
Universidad del Valle
Slide 28
Estructuras de Repetición
Proceso:??
EISC
Universidad del Valle
Slide 29
Estructuras de Repetición
EISC
Universidad del Valle
Slide 30
Estructuras de Repetición
Proceso:
Para x=1 hasta cantidadEstudiantes incrementar x en 1
Haga
nombreEstudiante=leer(“Ingrese el nombre del estudiante”)
listadoEstudiantes = listadoEstudiantes + nombreEstudiante
Fin Para
EISC
Universidad del Valle
Slide 31
Estructura for
Ejercicio 1:
2. Algoritmo en pseudocódigo.
Inicio
cantidadEstudiantes: entero
listadoEstudiantes: texto
nombreEstudiante: texto
listadoEstudiantes=“ ”
EISC
Universidad del Valle
Slide 32
canti x listadoEstudiante nombreEstudiant salida
dadE e
studi
antes
Inicio
cantidadEstudiantes: entero
listadoEstudiantes: texto
nombreEstudiante: texto
“” Ingrese la listadoestudiantes=“ ”
cantidad de
estudiantes cantidadEstudiantes= leer
3 1 Ingrese el estudiantes)
Para x=1 hasta cantidad
nombre del
Haga
estudiante
nombreEstudian
estudiante”)
juan listadoEstudiantes = li
nombreEstudiante
Fin Para
juan imprimir(listadoEstudian
Fin
2 Ingrese el
nombre del
estudiante
pedro
Juan pedro
3 Ingrese el
nombre del
estudiante
EISC
09/09/15
Universidad del Valle
Slide 33
Estructura for
Ejercicio 1:
3. Función en Python
EISC
Universidad del Valle
Slide 34
Estructura for
Ejercicio 2 :
Suponga que se desea crear un programa en Python que permita imprimir
en pantalla el factorial de un número el cual es digitado por un usuario.
El factorial de un número n es la multiplicación de todos los números de la
serie 1 a n, entonces, el factorial de 5 es 1 x 2 x 3 x 4 x 5 = 120, el factorial
de 3 es 1 x 2 x 3 = 6.
instrucción 3
instrucción 4
Fin Para
EISC
Universidad del Valle
Slide 35
Estructura for
2. Algoritmo en pseudocódigo
Inicio
factorial, n: entero
factorial=1
leer(n)
fin
EISC
Universidad del Valle
Slide 36
Estructura for
3. Función en Python
EISC
Universidad del Valle
Slide 37
Estructura for
3. Prueba de escritorio
i llega hasta (n+1)-1=n
n factorial i salida
3 1 1
1x1=1 2
1x2=2 3
2x3=6 el factorial
de 3 es 6
EISC
09/09/15
Universidad del Valle
Slide 38
Estructura for – Ciclos Anidados
Ejercicio 3:
Suponga que se desea crear un programa en Python que permita imprimir
en pantalla el factorial de cada número existente en la serie 1 a n, siendo
n un número menor a 20 el cual es digitado por un usuario.
Para i=1 hasta n incrementar i en 1
Haga
EISC
Universidad del Valle
Slide 40
Estructura for – Ciclos Anidados
2. Algoritmo en pseudocódigo.
Inicio
factorial, n: entero
respuesta: texto
leer(n)
SI n <= 20 Entonces
Desde i=1 hasta n incrementar i en 1
Haga
factorial=1
imprima(respuesta)
SINO
imprima(“Ha digitado un numero superior a 20”)
Fin
EISC
Universidad del Valle
Slide 41
Estructura for – Ciclos Anidados
2. Algoritmo en pseudocódigo.
Inicio
factorial, n: entero
respuesta: texto El ciclo principal, basado en la
leer(n) variable de control i, contiene un
SI n <= 20 Entonces ciclo anidado basado en la variable
Desde i=1 hasta n incrementar i en 1 de control j.
Haga
factorial=1
imprima(respuesta)
SINO
imprima(“Ha digitado un numero superior a 20”)
Fin
EISC
Universidad del Valle
Slide 42
Estructura for – Ciclos Anidados
3. Función en Python
EISC
Universidad del Valle
Slide 43
Estructura for – Ciclos Anidados
Ejercicio 4:
Desarrollar un programa Python que permita generar y visualizar la siguiente figura:
*
* *
* * *
** * *
EISC
Universidad del Valle
Slide 44
Estructura for – Ciclos Anidados
Ejercicio 4:
crearFigura(numeroFilas : entero)
Inicio
triangulo = “ ” : texto
Para i=1 hasta numeroFilas incrementar i en 1
Haga
Para j=1 hasta i incrementar j en 1
Haga
triangulo = triangulo + “*”
Fin Para
triangulo = triangulo + “\n”
Fin Para
imprimir(triangulo)
Fin
EISC
Universidad del Valle
Slide 45
Prueba de escritorio crearFigura:
numeroFilas triangulo i j salida
3 “” 1 1 *
*
2
1
*
* 2
*
* *
3 1
*
* *
*
2
*
* *
* * 3
* *
* * * *
* * * * * *
EISC
Universidad del Valle
Slide 46
Estructura for – Ciclos Anidados
Ejercicio 4:
EISC
Universidad del Valle
Slide 47
Estructura for - Contadores
EISC
Universidad del Valle
Slide 48
Estructura for - Contadores
Ejemplo:
Suponga que se desea crear un programa en Python que permita imprimir
en pantalla la cantidad de números múltiplos de 3 que se encuentran en
la serie 1 a n, siendo n un número digitado por un usuario.
EISC
Universidad del Valle
Slide 49
Estructura for - Contadores
Ejemplo:
Suponga que se desea crear un programa en Python que permita imprimir
en pantalla la cantidad de números múltiplos de 3 que se encuentran en
la serie 1 a n, siendo n un número digitado por un usuario.
Inicio
contador: entero;
contador=0;
leer(n)
Para i=1 hasta n incrementar i en 1
Haga
si ((i mod 3)==0){
contador=contador+1
Fin Para
imprimir(contador);
Fin
EISC
Universidad del Valle
Slide 50
Estructura for - Contadores
Ejemplo:
Suponga que se desea crear un programa en Python que permita imprimir
en pantalla la cantidad de números múltiplos de 3 que se encuentran en
la serie 1 a n, siendo n un número digitado por un usuario.
Inicio
contador: entero;
contador=0;
leer(n)
Para i=1 hasta n incrementar i en 1
Haga
if (esMultiploDeTres(i)){
contador=contador+1;
}
Fin Para
imprimir(contador)
Fin
EISC
Universidad del Valle
Slide 51
Estructura for - Contadores
Ejemplo:
EISC
Universidad del Valle
Slide 52
Estructura for - Acumuladores
EISC
Universidad del Valle
Slide 53
Estructura For - Acumuladores
EISC
Universidad del Valle
Slide 54
Ejercicios Estructura for
EISC
Universidad del Valle
Slide 57