INGENIERÍA DE SOFTWARE
Algoritmos
Ing. Anita Yánez
Sentencias Repetitivas
Objetivo
Conocer y aplicar las estructuras algorítmicas
repetitivas para la solución de problemas
informáticos
Tipos de sentencias repetitivas
La sentencia repetitiva, iterativa, o bucle, permite describir, con una notación
compacta, la situación en la que se quiere realizar una acción varias veces
dentro de un algoritmo. El número de repeticiones, también llamadas
iteraciones, depende del cumplimiento de una condición.
Si la condición es falsa, el procesador “sale” de la sentencia repetitiva y
continúa ejecutándolas acciones situadas a continuación de la sentencia
iterativa
Tipos:
Mientras - While (mientras hacer, fin mientras)
Repetir - Do While (repetir, hasta que); (repetir mientras)
Para - for (para, desde, hasta, paso, hacer, fin para)
Sentencia Repetir – Mientras
do - While
La condición a evaluar está situada al final de la sentencia.
La acción, se ejecuta al menos una vez.
Sintaxis: Sintaxis:
do Repetir
<Acción> <Acción>
while <Condición>
Mientras <Condición>
Las acciones se ejecutarán
mientras la condición sea Las acciones se ejecutarán
verdadera. mientras la condición sea
verdadera.
Algoritmo que muestra los números del 1 al 10.
Análisis:
Datos entrada: N/A
Datos salida: los números desde el 1 hasta el 10
Acciones que se
Proceso repiten
1. Asignar el valor de 1 a la variable NUM
2. Imprimir la variable NUM
3. Sumar 1 a la variable NUM: NUM = NUM +1 Condición que debe cumplirse
4. Imprimir la variable NUM para repetir las acciones
5. Sumar 1 a la variable NUM: NUM = NUM +1
6. Imprimir la variable NUM
7. Sumar 1 a la variable NUM: NUM = NUM +1
8. Imprimir la variable NUM
Si la variable NUM menor que 10
9. Sumar 1 a la variable NUM: NUM = NUM +1
10. Imprimir la variable NUM
11. Sumar 1 a la variable NUM: NUM = NUM +1
Algoritmo que muestra los números del 1 al 100.
Start
Datos Proceso Salida
Entrada
Set NUM=1
Numero =1
N/A Repetir:
Numero = Numero+1 Output NUM
Imprimir Numero
Mientras Numero <10 Set NUM = NUM+1
NO
NUM<=10
SI
Diagrama de flujo
End
Algoritmo que muestra los números del 1 al 100.
Pseudocódigo en Pseint:
Variables:
Variable Tipo Datos Descripción
Num Entero Almacena el numero de ingreso
Realizar un algoritmo que permita obtener la suma de 5 cantidades.
Análisis:
Datos entrada: 5 números
Datos salida: La suma de los 5 números
Proceso:
1. Ingresar NUM
Acciones que se Condición que debe cumplirse
repiten 5 veces para repetir las acciones
2. Sumar NUM numero al Total de la Suma
3. Sumar cantidad el valor de 1: Count = Count +1
4. Ingresar NUM
5. Sumar NUM numero al Total de la Suma Si la variable Count menor o igual
que 5 Repetir las acciones
6. Sumar cantidad el valor de 1: Count = Count +1
7. Ingresar NUM
8. Sumar NUM numero al Total de la Suma
9. Sumar cantidad el valor de 1: Count = Count +1
10. Ingresar NUM
11. Sumar NUM numero al Total de la Suma
12. Sumar cantidad el valor de 1: Count = Count +1
13. Ingresar NUM
14. Sumar NUM numero al Total de la Suma
15. Sumar cantidad el valor de 1: Count = Count +1
16. Mostrar la Total de la suma de los números
Realizar un algoritmo que permita obtener la suma de 5 cantidades.
Datos Proceso Salida
Entrada
Numero cantidad =0
Repetir:
Leer numero
suma = suma + numero
cantidad = cantidad +1
Mientras cantidad <5
Imprimir suma
Realizar un algoritmo que permita obtener la suma de 5 cantidades.
Datos Proceso Salida
Entrada
Numero cantidad =1
Repetir:
Leer numero
suma = suma + numero
cantidad = cantidad +1
Mientras cantidad <5
Imprimir suma
Variables:
Variable Tipo Datos Descripción
Cantidad Entero Almacena el numero de la repetición
Suma Real Almacena la suma de lo numeros
Num Real Almacena el numero de ingrreso
Actividad
1. Crea un programa que pida al usuario su código de usuario (un número entero) y su
contraseña numérica (otro número entero), y no le permita seguir hasta que
introduzca como código 1024 y como contraseña 4567.
2. Crear un programa calcule cuantas cifras tiene un número entero positivo (pista: se
puede hacer dividiendo varias veces entre 10).
3. Crear un programa que muestre los números del 15 al 5, descendiendo (pista: en
cada pasada habrá que descontar 1).
4. Realizar un algoritmo que calcule el producto de dos números mediante sumas.
Actividad
Se requiere un algoritmo para obtener la estatura promedio de un
grupo de personas, cuyo número de miembros se desconoce, el ciclo
debe efectuarse siempre y cuando se tenga una estatura registrada.
Realice el pseudocódigo utilizando el ciclo apropiado.
Actividad
Una empresa se encarga de producir y envasar leche para consumo humano.
Actualmente tienen varios contenedores con capacidad de hasta 100 litros y
empaques comerciales estampados para venta de 5 litros, 3 litros y 1 litro de
capacidad. Elaborar un programa que dada la cantidad de litros que tiene un
contenedor (un número mayor a 0 y menor o igual a 100). Determinar cuántos
empaques de 5 litros pueden llenarse, cuántos de 3 litros y cuántos de 1 litro.
Primero deben llenarse tantos empaques de 5 litros como sea posible, ya que es
el producto más solicitado; luego, los de 3 litros; y, finalmente, los de 1 litro.
El programa debe permitir repetir la ejecución tantas veces como el usuario desea.
Conclusiones
¿Qué aprendimos hoy?
El primero consiste en determinar si el conjunto de instrucciones dentro del ciclo se
ejecutará por lo menos una vez; de ser así se debe optar por un ciclo repetir – mientras
(do-while). En caso contrario, es preferible un ciclo mientras (while).
El segundo criterio consiste en reconocer claramente los factores clave para escribir la
expresión lógica que requiere el ciclo. Se sugiere identificar las relaciones que deben
cumplirse entre variables y constantes con el objetivo de establecer las condiciones
necesarias para que el ciclo continúe ejecutándose. Cabe recalcar que si la expresión
evalúa verdadero el ciclo continúa.
El tercer criterio consiste en identificar, independientemente del ciclo utilizado, que la
condición escrita arroje como resultado (tarde o temprano) un valor de verdad falso, ya
que de lo contrario el programa podría continuar ejecutándose indefinidamente.