18. Algoritmos || Estructuras repetitivas
Estructura mientras
La estructura repetitiva mientras-hacer siempre repite (itera) una serie de sentencias según el valor de su condición, si es verdadera, entonces procede a ejecutar las acciones, en caso de ser falsa, no hace nada.
Luego de la primera ejecución se vuelve a evaluar la condición y se realiza el mismo procedimiento hasta que la condición sea falsa. La sintaxis de la estructura mientras-hacer es la siguiente:
mientras (condición) hacer
// Sentencias...
FinMientras
Diagrama de flujo
Diagrama Nassi-Shneiderman
Esta estructura siempre evalúa primero la condición para proceder a ejecutar las sentencias en caso de que sea cierta. Ejemplo:
Hacer un algoritmo que escriba los nĆŗmeros del 1 al 100. ¿Cómo podrĆamos resolver el algoritmo? Una forma podrĆa ser:
Escribir 1;
Escribir 2;
Escribir 3;
Escribir 4;
.
.
.
Escribir 100;
Pero vaya que de esta manera serĆa algo totalmente ineficiente, estarĆamos utilizando cien lĆneas de código, ademĆ”s deben tomar en cuenta el tiempo que les tomarĆ” si lo hacen asĆ. Se pueden fijar que siempre se estĆ” repitiendo una acción, la de Escribir. Vamos a escribir un nĆŗmero reiteradamente cien veces, para eso hacemos uso de las estructuras repetitivas y nos ahorramos mucho tiempo, ademĆ”s que damos mĆ”s eficiencia al programa. Un algoritmo de este ejemplo quedarĆa mejor de la siguiente manera:
proceso Numeros_1_al_100 definir n como numerico; n <- 1; mientras (n <= 100) hacer escribir n; n <- n + 1; finmientras finproceso
Nota que sólo hay una acción de Escribir a diferencia de la forma anterior que habĆa cien. En este algoritmo se inicia la variable n igual a 1, luego usamos un ciclo mientras, este evalĆŗa la condición
(n <= 100)
¿Esto es cierto? Por supuesto, recuerda que n es igual a 1 asĆ que 1 <= 100 es cierto. Luego de comprobar que la condición es verdadera, entra en el cuerpo del bucle y ejecuta todas su acciones, en este caso
Escribir n;
AsĆ que escribe 1 en pantalla, porque n = 1. Luego pasa a la segunda sentencia
n <- n + 1;
Asà que se le suma 1 a la variable n, ahora vale 2, termina el ciclo pero aún no acaba. Como es una estructura mientras, luego de terminar el ciclo regresa a evaluar la condición
(n <= 100)
Ahora n vale 2 y la condición sigue siendo verdadera, entonces vuelve a hacer el mismo proceso, va a escribir n en pantalla, pero n = 2 asà que ya no escribirÔ 1, sino 2. La variable n volverÔ a aumentar en 1, terminarÔ el ciclo y este volverÔ a evaluar la condición, ya n = 3 asà que
(n <= 100)
SeguirÔ siendo cierta, y el ciclo empieza de nuevo y ocurre lo mismo, sólo que ya no saldrÔ en pantalla 1 o 2, sino 3.
¿CuĆ”ndo termina el ciclo?
Cuando n sea mayor que 100. En el momento en que n sea igual a 101, ahà va a terminar el ciclo, se va a evaluar la condición
(n <= 100)
Y como no serĆ” verdad, no harĆ” nada.
Publica un comentario