Lab2504 1d1 1d4 Repetitiva
Lab2504 1d1 1d4 Repetitiva
• Estructuras Repetitiva
Mientras
• Acumuladores y
contadores
¿Hasta aquí qué hicimos?
EL cociente entre dos números El pago a UN empleado
Inicio Inicio
F V
cociente=num1/num2 cod == 1
pago
Fin
Fin
¿Hasta aquí qué hicimos?
EL cociente entre dos números El pago a UN empleado Peeeero….
¿Qué pasa si quisiera
Inicio Inicio
calcular el promedio
de varios cocientes o
Definir num1,num2 Como Entero Definir cod Como Entero el sueldo total entre
Definir cociente Como Real Definir cant, pago Como Real varios empleados?
F V
cociente=num1/num2 cod == 1
pago
Fin
Fin
¿Hasta aquí qué hicimos?
EL cociente entre dos números El pago a UN empleado Peeeero….
¿Qué pasa si quisiera
Inicio Inicio
calcular el promedio
de varios cocientes o
Definir num1,num2 Como Entero Definir cod Como Entero el sueldo total entre
Definir cociente Como Real Definir cant, pago Como Real varios empleados?
F V
cociente=num1/num2 cod == 1
pago
Fin
Fin
Estructura Repetitiva “Mientras” (o Mientras – Hacer)
ILUSTRACIÓN
Inicio ILUSTRACIÓN
Entero: n1
Fin
Estructura Repetitiva “Mientras” (o Mientras – Hacer)
Inicio ILUSTRACIÓN
Entero: n1
...
n1 ILUSTRACIÓN
n1 > 0
f Leer un número e imprimir
“n1 es mayor a cero”,
cuando lo sea. Reiterar
v
“n1 es mayor a
esta operación mientras el
número ingresado sea
cero” mayor a cero.
n1
...
Estructura Repetitiva “Mientras” (o Mientras – Hacer)
...
n1
n1 > 0
f Introducir n1
56
v
“n1 es mayor a
cero”
n1
...
Estructura Repetitiva “Mientras” (o Mientras – Hacer)
...
n1
n1 > 0
f Introducir n1
56
v
“n1 es mayor a
cero”
n1
...
Estructura Repetitiva “Mientras” (o Mientras – Hacer)
...
n1
n1 > 0
f Introducir n1
56
v
“n1 es mayor a
“n1 es mayor a cero”
cero”
n1
...
Estructura Repetitiva “Mientras” (o Mientras – Hacer)
...
n1
n1 > 0
f Introducir n1
56
182
v
“n1 es mayor a
“n1 es mayor a cero”
cero”
n1
...
Estructura Repetitiva “Mientras” (o Mientras – Hacer)
...
n1
n1 > 0
f Introducir n1
182
v
“n1 es mayor a
cero”
n1
...
Estructura Repetitiva “Mientras” (o Mientras – Hacer)
...
n1
n1 > 0
f Introducir n1
182
v
“n1 es mayor a
“n1 es mayor a cero”
cero”
n1
...
Estructura Repetitiva “Mientras” (o Mientras – Hacer)
...
n1
n1 > 0
f Introducir n1
0182
v
“n1 es mayor a
“n1 es mayor a cero”
cero”
n1
...
Estructura Repetitiva “Mientras” (o Mientras – Hacer)
...
n1
n1 > 0
f Introducir n1
0
v
“n1 es mayor a
cero”
n1
...
Estructura Repetitiva “Mientras” (o Mientras – Hacer)
...
n1
n1 > 0
f Introducir n1
0
v
“n1 es mayor a
cero”
n1
...
Estructura Repetitivas
Estructuras repetitivas
1- Mientras
2- Repetir – Hasta
3- Desde / Para
Estructura Repetitiva “Mientras” (o Mientras – Hacer)
f
BUCLE O LAZO
(“LOOP”)
Condiciones
SALIDA DEL
v BUCLE
Acciones
ITERACIÓN (cada
repetición del bucle)
Estructura Repetitiva “Mientras” (o Mientras – Hacer)
No se conoce la cantidad de elementos Condición de salida
a procesar. al INICIO del bucle.
f
BUCLE O LAZO
(“LOOP”)
Condiciones
SALIDA DEL
v BUCLE
Acciones
ITERACIÓN (cada
repetición del bucle)
Acciones
por falso
Acciones
por
verdadero
Estructura Repetitiva: Mientras Incio
Condición de
• Diagrama de flujo Definir num1,num2 como Entero salida
F Definir Cociente como Real del bucle
V 1er lectura num1
F
num1<>999
V
num2
F V
num2<>0
Estructura Repetitiva: Mientras Incio
Condición de
• Diagrama de flujo Definir num1,num2 como Entero salida
F Definir Cociente como Real del bucle
V 1er lectura num1
F
num1<>999
V
num2
F V
num2<>0
Cociente=num1/num2
«No se puede
dividir por cero»
Cociente
Estructura Repetitiva: Mientras Incio
Condición de
• Diagrama de flujo Definir num1,num2 como Entero salida
F Definir Cociente como Real del bucle
V 1er lectura num1
F
num1<>999
V
num2
F V
num2<>0
num1
Lectura para
nueva iteración
Estructura Repetitiva: Mientras Incio
Condición de
• Diagrama de flujo Definir num1,num2 como Entero salida
F Definir Cociente como Real del bucle
V 1er lectura num1
F
num1<>999
V
num2
F V
num2<>0
num1
Lectura para
nueva iteración
Estructura Repetitiva: Mientras Incio
Condición de
• Diagrama de flujo Definir num1,num2 como Entero salida
F Definir Cociente como Real del bucle
V 1er lectura num1
F
num1<>999
V
num2
F V
num2<>0
Ejerc_Intro_Mientras.psc num1
Lectura para
nueva iteración Fin
Inicio
Estructura general de
algoritmo con repetitiva
Declaración e inicialización de
variables
“Mientras”
Fin
BUCLE (n iteraciones) 2
Estructuras Repetitivas
Ud. deberá procesar una serie de números enteros, los cuales deberán
estar en el rango [0-100], sin incluir los extremos.
Se pide generar las siguientes Salidas, cada vez que un número ingresado
cumpla con las condiciones necesarias para cada caso:
• Mostrar la leyenda “número mayor a 50”.
• Mostrar la leyenda “número menor o igual a 50”.
• Mostrar leyenda “número fuera de rango”.
• Estructuras Repetitiva
Mientras
• Contadores y
Acumuladores
CONTADOR
Ejemplo
Una variable contador de la cantidad de recibos ingresados a un algoritmo podría inicializarse en cero,
como en expresión 1, y luego ir actualizándose en cada iteración según la expresión 2:
Inicialización de la variable contadorRecibos.
(1) contadorRecibos = 0 Proceso antes de ingresar a bucle.
(2) contadorRecibos = contadorRecibos + 1 Proceso que estará
dentro del bucle.
ACUMULADOR
Ejemplo
Una variable acumuladora de la cantidad de litros de agua consumidos, podría inicializarse en cero, como en
expresión 1, y luego ir actualizándose según el valor de la variable litros, en cada iteración según la expresión 2:
Inicialización de la variable acumuladorLtros.
(1) acumuladorLtros = 0
Proceso antes de ingresar a bucle.
(2) acumuladorLtros = acumuladorLtros + litros Proceso que estará
dentro del bucle.
Estructuras Repetitivas
prom = acumNum/cantNum
Estructuras Repetitivas
prom = acumNum/cantNum
cantNum = cantNum + 1
prom = acumNum/cantNum
cantNum = cantNum + 1
Ejerc#3_RepMientras_Promedio.psc
Problema #3 – Repetitiva Mientras
Inicio
Definir nro, acumNum,cantNum como Entero
Definir prom como real
acumNum=0
cantNum=0
nro
ACUMULADOR
F
nro <> 0
V prom = acumNum/cantNum
acumNum = acumNum + num
prom
cantNum = cantNum + 1
nro Fin
CONTADOR
Estructuras Repetitivas