En este tema, aprenderemos sobre los bucles en REXX, específicamente los bucles DO y la instrucción LEAVE. Los bucles son estructuras de control que permiten ejecutar un bloque de código repetidamente, lo cual es fundamental para tareas repetitivas y procesamiento de datos.

Conceptos Clave

  1. Bucles DO: Permiten ejecutar un bloque de código repetidamente.
  2. Instrucción LEAVE: Permite salir de un bucle antes de que se complete su ciclo natural.

Bucles DO

Sintaxis Básica

El bucle DO en REXX tiene varias formas, pero la más básica es:

DO
    /* Código a ejecutar repetidamente */
END

Ejemplo Práctico

Vamos a ver un ejemplo simple donde imprimimos los números del 1 al 5:

/* Ejemplo de bucle DO */
DO i = 1 TO 5
    SAY 'Número:' i
END

Explicación:

  • DO i = 1 TO 5: Inicia un bucle que va desde 1 hasta 5.
  • SAY 'Número:' i: Imprime el valor de i en cada iteración.
  • END: Marca el final del bucle.

Variantes del Bucle DO

DO WHILE

Ejecuta el bloque de código mientras una condición sea verdadera.

i = 1
DO WHILE i <= 5
    SAY 'Número:' i
    i = i + 1
END

DO UNTIL

Ejecuta el bloque de código hasta que una condición se vuelva verdadera.

i = 1
DO UNTIL i > 5
    SAY 'Número:' i
    i = i + 1
END

DO FOREVER

Ejecuta el bloque de código indefinidamente hasta que se use una instrucción LEAVE o EXIT.

i = 1
DO FOREVER
    SAY 'Número:' i
    i = i + 1
    IF i > 5 THEN LEAVE
END

Instrucción LEAVE

La instrucción LEAVE se utiliza para salir de un bucle antes de que se complete su ciclo natural. Es útil cuando se cumple una condición específica y no es necesario continuar con el bucle.

Ejemplo Práctico con LEAVE

Vamos a modificar el ejemplo anterior para que el bucle se detenga cuando i sea igual a 3:

/* Ejemplo de bucle DO con LEAVE */
DO i = 1 TO 5
    IF i = 3 THEN LEAVE
    SAY 'Número:' i
END
SAY 'Bucle terminado'

Explicación:

  • IF i = 3 THEN LEAVE: Si i es igual a 3, se ejecuta LEAVE y se sale del bucle.
  • SAY 'Bucle terminado': Se imprime después de que el bucle ha terminado.

Ejercicios Prácticos

Ejercicio 1

Escribe un programa en REXX que imprima los números del 10 al 1 en orden descendente.

Solución:

DO i = 10 TO 1 BY -1
    SAY 'Número:' i
END

Ejercicio 2

Escribe un programa en REXX que imprima los números del 1 al 10, pero se detenga si encuentra un número divisible por 4.

Solución:

DO i = 1 TO 10
    IF i // 4 = 0 THEN LEAVE
    SAY 'Número:' i
END
SAY 'Bucle terminado'

Resumen

En esta sección, hemos aprendido sobre los bucles DO y la instrucción LEAVE en REXX. Los bucles DO permiten ejecutar un bloque de código repetidamente bajo diferentes condiciones, mientras que LEAVE nos permite salir de un bucle antes de que se complete su ciclo natural. Estos conceptos son fundamentales para la programación eficiente y efectiva en REXX.

En el próximo tema, exploraremos la entrada y salida en REXX, lo cual nos permitirá interactuar con el usuario y manejar datos de manera más dinámica.

© Copyright 2024. Todos los derechos reservados