Estructuras Repetitivas
Las estructuras repetitivas son aquellas que permiten ejecutar repetidamente un conjunto de instrucciones, bien un número predeterminado de veces, o bien hasta que se verifique una determinada condición.
En términos de un lenguaje de programación, que se verifique o no una condición se traduce en que una (adecuada) expresión lógica tome el valor VERDADERO (TRUE) o tome el valor FALSO (FALSE). En los casos más sencillos y habituales la condición suele ser una comparación entre dos datos, como por ejemplo:
si a < b hacer una cosa y en caso contrario hacer otra distinta.
Existen tres tipos de estructuras repetitivas en PseInt:
La instrucción Mientras ejecuta una secuencia de instrucciones mientras una condición sea verdadera.
Mientras <condición> Hacer
<instrucciones>
FinMientras
Al ejecutarse esta instrucción, la condición es evaluada. Si la condición resulta verdadera, se ejecuta una vez la secuencia de instrucciones que forman el cuerpo del ciclo. Al finalizar la ejecución del cuerpo del ciclo se vuelve a evaluar la 4 condición y, si es verdadera, la ejecución se repite. Estos pasos se repiten mientras la condición sea verdadera.
Note que las instrucciones del cuerpo del ciclo pueden no ejecutarse nunca, si al evaluar por primera vez la condición resulta ser falsa.
Si la condición siempre es verdadera, al ejecutar esta instrucción se produce un ciclo infinito. A fin de evitarlo, las instrucciones del cuerpo del ciclo deben contener alguna instrucción que modifique la o las variables involucradas en la condición, de modo que ésta sea falsificada en algún momento y así finalice la ejecución del ciclo.
Ejemplo 1:
Enunciado:
Diseñar un algoritmo que permita ingresar n cantidad de notas validas, sabiendo que el rango de nota valida es de 1 a 5 pts.
Algoritmo
Estructura Repetir - Hasta:
La instrucción Repetir-Hasta Que ejecuta una secuencia de instrucciones hasta que la condición sea verdadera.
Repetir
<instrucciones>
Hasta Que <condición>
Al ejecutarse esta instrucción, la secuencia de instrucciones que forma el cuerpo del ciclo se ejecuta una vez y luego se evalúa la condición. Si la condición es falsa, el cuerpo del ciclo se ejecuta nuevamente y se vuelve a evaluar la condición.
Esto se repite hasta que la condición sea verdadera.
Note que, dado que la condición se evalúa al final, las instrucciones del cuerpo del ciclo serán ejecutadas al menos una vez. Además, a fin de evitar ciclos infinitos, el cuerpo del ciclo debe contener alguna instrucción que modifique la o las variables involucradas en la condición de modo que en algún momento la condición sea verdadera y se finalice la ejecución del ciclo.
Ejemplo 2:
Enunciado:
Diseñar un algoritmo que permita ingresar n cantidad de notas validas, sabiendo que el rango de nota valida es de 1 a 5 pts.
Algoritmo
Teniendo en cuenta que el ejemplo es el mismo utilizado en la estructura MIENTRAS-HACER pero adaptándolo a esta nueva estructura, apreciamos la primera y al ingresar la cantidad de notas igual a cero sencillamente no se ejecuta el ciclo ya que el evalúa la condición en el inicio, pero ingresamos cero también en el segundo y el ciclo se ejecuta una vez para luego detenerse, esto sucede porque en esta otra se evalúa al final, por lo tanto REPITA-HASTA se debe utilizar solo en problemas que necesiten por lo menos una vez su ejecución.
La instrucción Para ejecuta una secuencia de instrucciones un número determinado de veces.
Para <variable> <- <inicial> Hasta <final> Con Paso <paso> Hacer
<instrucciones>
FinPara
Al ingresar al bloque, la variable <variable> recibe el valor <inicial> y se ejecuta la secuencia de instrucciones que forma el cuerpo del ciclo. Luego se incrementa la variable <variable> en <paso> unidades y se evalúa si el valor almacenado en <variable> superó al valor <final>. Si esto es falso se repite hasta que <variable> supere a <final>. Si se omite la cláusula Con Paso <paso>, la variable <variable> se incrementará en 1.
Ejemplo 3:
Enunciado:
Diseñar un algoritmo que permita repetir n cantidad de veces un mensaje cualquiera:
Algoritmo
En esta estructura la instrucción Para es un poco más compleja que las otras dos, pero simplifica la ejecución de los ciclos.
En la instrucción comenzamos con una variable de repetición que 8 se inicializa en la misma instrucción y no afuera como en las anteriores, luego se delimita, en el caso del ejemplo de n y por último se indica el valor del incremento de la variable, en el ejemplo se incrementa de 1 en 1, pero ese valor puede variar y además si el incremento es igual a 1 este se puede omitir, por ejemplo: (Para i=1 Hasta n Hacer)
Vamos a comparar las distintas estructuras:
Por acá unos vídeos donde el profesor Juan Laya hace una excelente explicación