Está en la página 1de 20

Estructuras Repetitivas

ALGORITMOS, Unidad 2

FACULTAD DE INGENIERÍA INDUSTRIAL


UNIIVERSIDAD PERUANA DE CIENCIAS APLICADAS

Coordinación de Curso
Contenido

1. Estructuras repetitivas de salida controlada


2. Estructuras repetitivas de entrada controlada
3. Alternativa Entrada Controlada tipo : Contador Implícito
1. Estructura Repetitiva de Salida Controlada
Permite repetir una serie de acciones o instrucciones y termina este proceso cuando se cumple
la condición indicada.
DIAGRAMA DE FLUJO PSEUDOCÓDIGO

Instrucciones a repetir REPETIR / HACER


Si la condición
lógica lo permite se Grupo de acciones
BLOQUE DE
repite la ejecución ACCIONES
HASTA CONDICION DE SALIDA

F /V CONDICIÓN
VòF De acuerdo a la condición
lógica se para la repetición
o ejecución
Ejemplo 1.1
Diseñe un algoritmo que incremente un número inicial en su propio valor hasta que supere el
tope de 5 veces su valor.
PSEUDOCÓDIGO PSEUDOCÓDIGO
ANÁLISIS INICIO INICIO
Dato de entrada Leer A Ingresar A
A: número a incrementar, N A N A
(entero) C 0 C 0
Dato intermedio Repetir Hacer
N: acumulador del N  N +A N  N +A
incremento (entero) C C + 1 C C + 1
Dato de salida Hasta (N > 5*A) Hasta NO(N <= 5*A)
C: contador de repetición Mostrar “Se incrementó ” & C & “ Veces” Imprimir “Se incrementó ” & C & “ Veces”
FIN FIN

• Practicar , diseñando el diagrama de flujo……


EJEMPLO 1.2

• Cree un algoritmo que permita ingresar números, pero no se sabe cuántos


números se ingresarán, por lo que deberá realizar la pregunta “Desea
continuar” y si la respuesta es negativa, deberá terminar con los ingresos.
Además, indique cuántos números se ingresaron.
• Tome en cuenta que cuando programe los números deberán mostrarse en un
listado a medida que se ingresan.

El caso anterior se resuelve utilizando una


estructura repetitiva de salida controlada
como se verá a continuación.
Solución en Diagrama de flujo y pseudocódigo
Inicio
Inicio
i=0
ANÁLISIS Inicio
Repetir
Dato de entrada i=0
i=i+1
i=0
n: número (Real) Ingresar n
Rpta: respuesta del usuario (Texto) i = i +1
Mostrar “¿Desea continuar?”
i = i +1
Dato intermedio Leer Rpta
n
Hasta Rpta = “NO”
n
Mostrar i
Dato de salida Fin
i: contador de números (Entero) “¿Desea
“¿Desea
Continuar?
Continuar?

Inicio
Rpta i=0
Rpta
Hacer
No i=i+1
V
Rpta = “No” NO (Rpta = “NO”) Ingresar n
Mostrar “¿Desea continuar?”
¿Qué cambios realizaría en cada Sí
F Ingresar Rpta
i Hasta Rpta < > “Si”
algoritmo para poder validar la i
Mostrar i
respuesta como “Sí” o “No”? Fin
Fin
Fin
2. Estructuras Repetitivas de Entrada Controlada
Permite repetir unas acciones SOLO mientras la condición de entrada se siga cumpliendo.
DIAGRAMA DE FLUJO PSEUDOCÓDIGO
MIENTRAS CONDICION DE ENTRADA HACER

Grupo De Acciones
NO /SI
CONDICIÓN FIN_MIENTRAS

MIENTRAS CONDICION DE ENTRADA


SI / NO SI LA CONDICIÓN NO PERMITE LA
ENTRADA
Grupo De Acciones
BLOQUE DE
ACCIONES FIN_MIENTRAS

HACER MIENTRAS CONDICION DE ENTRADA

Grupo De Acciones

FIN_MIENTRAS
Ejemplo 2.1

Diseñe un algoritmo que incremente en 50 unidades la suma (que inicia en cero), mientras no
supere el valor de 1000
ANÁLISIS PSEUDOCÓDIGO
PSEUDOCÓDIGO
Datos de entrada INICIO
Datos intermedios INICIO
Suma  0
SUMA: acumulador de la suma Suma  0 Hacer Mientras no(Suma >= 1000)
(entero) Mientras Suma < 1000
Suma  Suma + 50
Datos de salida Suma  Suma + 50
C C + 1
C: contador de repetición C C + 1 Fin_mientras
Fin_mientras
Mostrar “Se incrementó ” & C & “ Veces”
Mostrar “Se incrementó ” & C & “ Veces”
FIN
FIN

• Practicar , diseñando el diagrama de flujo……


EJEMPLO 2.2
• Cree un algoritmo que permita realizar un numero de pedidos
consecutivos mientras se cuente con stock disponible en bodega
Toma y asigna valores
Inicio Inicio DESDE una Celda de Excel
ANÁLISIS P [G8] MANUALMENTE
Dato de entrada Stock celda(7,7)
Stock , P Si Stock <= 0 then
stock :Inventario, entero mostrar “no hay stock”
C:cantidad a pedir por De lo contrario
Mientras no(stock <= 0)
pedido, entero Leer C
No
P: el número de pedido Stock>0 Si C <= Stock Y C <> 0 entonces
PP+1
Stock Stock – C
Dato intermedio Sí
Escribe los
C valores en una Celda ( 7 + P, “b”) P
Celda de Excel Celda (7 + P, “c”) C
Dato de salida manualmente [G7]Stock
[G8]P
• Al finalizar el C>Stock o C= 0
V
SinoSI C > Stock entonces
boocle se podría Mostrar “supera el stock”
De lo contrario
mostrar P F “no valido”
Mostrar ”Cero no es válido”
acumulado. PP+1 Fin_Si
• Stock disminuido “No hay stock” Fin_mientras
Fin_SI
o final. Stock  Stock - C Mostrar “Se agoto el Stock”
Mostrar “Se hicieron “ & P & “Pedidos”
FIN
FIN
EJEMPLO 2.2
• Que cambios podrías realizar en las condiciones??
Toma y asigna valores
Inicio Inicio DESDE una Celda de Excel
ANÁLISIS P [G8] MANUALMENTE
Dato de entrada Stock celda(7,7)
Stock , P Si Stock <= 0 then
stock :Inventario, entero mostrar “no hay stock”
C:cantidad a pedir por De lo contrario
Mientras ?????
pedido, entero Leer C
???
P: el número de pedido ??? Si ??????? entonces
PP+1
Stock Stock – C
Dato intermedio ???
Escribe los
C valores en una Celda ( 7 + P, “b”) P
Celda de Excel Celda (7 + P, “c”) C
Dato de salida manualmente [G7]Stock
[G8]P
• Al finalizar el ????
???
SinoSI ??????? entonces
boocle se podría Mostrar “supera el stock”
De lo contrario
mostrar P ??? “no valido”
Mostrar ”Cero no es válido”
acumulado. PP+1 Fin_Si
• Stock disminuido “No hay stock” Fin_mientras
Fin_SI
o final. Stock  Stock - C Mostrar “Se agoto el Stock”
Mostrar “Se hicieron “ & P & “Pedidos”
FIN
FIN
EJEMPLO 2.2
• Cree un algoritmo que permita realizar un numero de pedidos
consecutivos mientras
Inicio
se cuente con stock disponible en bodega
ANÁLISIS P[G8] Asigna Valores
Stock[G7] desde una celda de
Dato de entrada Excel
stock :Inventario, entero
C:cantidad a pedir por Stock>0 No
pedido, entero
P: el número de pedido Sí “No hay stock”
C

Dato intermedio
[G8]  P
C>Stock o C= 0
Dato de salida
• Al finalizar el “no valido” [G7]  Stock
PP+1
boocle se podría
mostrar P Celda(7+p,”b”)  P FIN
acumulado.
• Stock disminuido Stock  Stock - C
o final. Escribe los valores en
Celda(7+p,”c”)  C una Celda de Excel
Para hallar el máximo valor de un listado

Cómo encontrar el valor mayor?


1. Antes del bloque de repeticiones:
Inicie una variable con el menor valor posible.
Max = 0
2. Dentro del bloque de repeticiones:
a) Ingrese el dato
b) Compare cada uno de los valores con Max asi:
Si Dato >= Max Entonces Max = Dato
3. Después de salir del bloque de repeticiones:
Mostrar Max
Para hallar el mínimo valor de un listado

Cómo encontrar el valor menor:


1. Antes del bloque de repeticiones:
Inicie una variable con el mayor valor posible
Min = 9999
2. Dentro del bloque de repeticiones:
a) Ingrese el dato
b) Compare cada uno de los valores con Min
Si Dato <= Min Entonces Min = Dato
3. Después de salir del bloque de repeticiones:
Mostrar Min
1. Estructura Repetitiva Contador Implícito
Permite repetir una serie de acciones o instrucciones y termina cuando el contador “implícito”
alcanza el valor requerido
DIAGRAMA DE FLUJO
Si la variación es +1,
se puede omitir PSEUDOCÓDIGO

Para i = Valor_inicial hasta Valor_final paso Variación


i> Valor final
Para i = Valor_inicial hasta Valor_final paso Variación
Grupo de acciones a repetir

i<= Valor final Siguiente i

BLOQUE DE
ISNTRUCCIONES SIGUIENTE BLOQUE
DE ISNTRUCCIONES

Siguiente i
Consideraciones
• Los datos del valor inicial y final son número enteros.
• La instrucción Siguiente incrementa por defecto en 1 el contador i.
• Si se desea otro incremento, debe indicar ese incremento con la palabra Paso y a
continuación especificar la variación. Por ejemplo, si desea que el incremento sea de 3
en 3, deberá escribir Paso 3.
• También, puede disminuir en lugar de aumentar, en tal caso utilice el signo negativo.
• Los nombres de los contadores se trabajan con las letras i, j, k, etc. de tal manera, que
esta normativa permite reconocer fácilmente a los contadores dentro de un algoritmo o
programa facilitando la lectura y comprensión.
Ejemplo 1.1
Diseñe un algoritmo que aplique una encuesta demográfica para evaluar la edad promedio de un
grupo de 10 personas.
DIAGRAMA DE FLUJO
PSEUDOCÓDIGO INICIO
ANÁLISIS
Inicialización de
Dato de entrada INICIO acumulador
N: número de encuestados N  10 N 10

(entero) C 0
Para i = 1 hasta N C0
EDAD: de cada persona
(entero) Leer EDAD
Dato intermedio C C + EDAD Para i = 1 hasta N
C: acumulador de la Siguiente i Sumatoria de Edades
suma de edad (entero) PC / N PC/N
Dato de salida EDAD
Mostrar “el promedio de edad es” & P & “ Años”
P: promedio de edades FIN
P
C C + EDAD

• Se omite el paso porque el incremento es de 1 Siguiente i FIN


Resuelva

Cree un algoritmo (diagrama de flujo) que Inicio


muestre los cuadrados de los n primeros
n
números naturales. “Ingrese #
mayor a cero”
No
Finalmente, muestre el cociente de la suma de n>0

los cuadrados entre n.
Suma =0

Para i = 1 hasta n

Cociente = Suma \ n
Cuadrado = i ^ 2
Suma =Suma + Cuadrado

Cuadrado Cociente

Siguiente i Fin
Recuerde!!!

o Var, es una variable numérica (entera o real)


o Vi, es el valor inicial que asume la variable Var
o Vf, es el valor final al que debe llegar la variable Var
o Siguiente Var, es una instrucción que incrementa el
valor de la variable Var en 1.
o Si se desea un incremento (o decremento) diferente
de 1 se debe escribir: Paso o Inc
Para Var = Vi hasta Vf Paso Valor

Ejemplo: Var asumirá los siguientes


valores: 1, 3, 5, 7
Para Var = 1 hasta 8 Paso 2
Para Var = 8 hasta 1 Inc -2 Var asumirá los siguientes
valores: 8, 6, 4, 2
Práctica….

• Desarrolle los ejercicios propuestos por el profesor y los propuestos de la


separata de ejercicios de clases ……

Realice el ejercicio anterior cambiando el valor inicial a 10 y el valor final a 1:


*Analice que cambia
*En este caso, el paso o variación es incremental???
*Realice el ejemplo anterior con estructura de entrada controlada
*Realice el ejemplo anterior con estructura de salida controlada
https://cdn1.excelyvba.com/wp-content/uploads/2013/01/m%C3%A1ximo-valor-de-una-tabla.png
https://thumbs.dreamstime.com/b/evento-c%C3%ADclico-58796944.jpg

También podría gustarte