9. Estructuras Repetitivas

 Las estructuras repetitivas permiten ejecutar un conjunto de instrucciones varias veces, ya sea un número conocido de repeticiones o mientras se cumpla una condición lógica.

En SL existen tres estructuras principales: DESDE, MIENTRAS y REPETIR. Cada una se utiliza según la necesidad del programa.

9.1 Estructura DESDE

La estructura DESDE se usa cuando se conoce de antemano la cantidad de repeticiones que debe realizar el ciclo. Es la forma típica de contar desde un valor inicial hasta un valor final en pasos constantes.

Sintaxis general:

desde variable = inicio hasta fin paso incremento { sentencias }

Donde:

  • variable es la variable de control del ciclo.

  • inicio es el valor inicial.

  • fin es el valor final.

  • incremento (opcional) indica cuánto se suma o resta en cada iteración. Si no se especifica, el incremento por defecto es 1.

Ejemplo simple:

var i : numerico inicio desde i = 1 hasta 5 { imprimir("Iteración: ", i, "\n") } fin

Ejemplo con paso:

desde i = 10 hasta 0 paso -2 { imprimir(i, "\n") }

Notas importantes:

  • El ciclo avanza según el valor de paso.

  • Si el paso es positivo, el valor final debe ser mayor o igual al inicial; si es negativo, debe ser menor.

  • La variable de control no debe modificarse dentro del cuerpo del ciclo.

Ejercicio recomendado:
Escribir un programa que muestre los números pares del 2 al 20 usando desde.

9.2 Estructura MIENTRAS

La estructura MIENTRAS ejecuta un bloque de instrucciones siempre que una condición lógica sea verdadera.
Se utiliza cuando no se conoce de antemano cuántas veces se repetirá el ciclo, sino que depende del cumplimiento de la condición.

Sintaxis:

mientras ( condicion ) { sentencias }

Funcionamiento:

  1. Se evalúa la condición.

  2. Si es verdadera, se ejecuta el bloque.

  3. Al finalizar las sentencias, la condición se evalúa nuevamente.

  4. El ciclo termina cuando la condición es falsa.

Ejemplo:

var n : numerico inicio n = 1 mientras ( n <= 5 ) { imprimir("Valor de n: ", n, "\n") n = n + 1 } fin

Ejemplo típico de lectura:

mientras ( x <> 0 ) { imprimir("Ingrese un número (0 para terminar): ") leer(x) }

Notas importantes:

  • Si la condición nunca se vuelve falsa, se produce un ciclo infinito.

  • La variable usada en la condición debe modificarse dentro del ciclo para asegurar la finalización.

Ejercicio recomendado:
Escribir un programa que pida números al usuario y cuente cuántos son mayores que 100. El ciclo termina cuando se ingresa un número negativo.

9.3 Estructura REPETIR

La estructura REPETIR ejecuta un bloque de instrucciones y luego evalúa la condición.
A diferencia de MIENTRAS, el cuerpo del ciclo se ejecuta por lo menos una vez, incluso si la condición es falsa desde el primer momento.

Sintaxis:

repetir { sentencias } hasta ( condicion )

Funcionamiento:

  1. Se ejecutan las sentencias.

  2. Luego se evalúa la condición del hasta.

  3. Si la condición es falsa, el ciclo continúa.

  4. Si es verdadera, el ciclo termina.

Ejemplo:

var x : numerico inicio repetir { imprimir("Ingrese un número positivo: ") leer(x) } hasta ( x > 0 ) imprimir("Gracias. El número ingresado es: ", x) fin

Ejemplo práctico:

repetir { imprimir("Menú principal\n") imprimir("1. Opción A\n") imprimir("2. Opción B\n") imprimir("3. Salir\n") leer(op) } hasta ( op = 3 )

Notas importantes:

  • El ciclo siempre se ejecuta al menos una vez.

  • La condición del hasta suele indicar cuándo terminar, es decir, es una condición de salida.

Ejercicio recomendado:
Escribir un programa que pida contraseñas hasta que el usuario ingrese “admin”.

No hay comentarios:

Publicar un comentario