Las estructuras de control son fundamentales en cualquier lenguaje de programación, ya que permiten dirigir el flujo de ejecución de un programa. En RPG, estas estructuras son esenciales para tomar decisiones, repetir acciones y controlar el comportamiento del programa. En esta sección, aprenderemos sobre las estructuras de control básicas en RPG: condicionales y bucles.
Contenido
Condicionales
Las estructuras condicionales permiten ejecutar diferentes bloques de código basados en ciertas condiciones. En RPG, las principales estructuras condicionales son IF
, ELSEIF
, ELSE
y SELECT
.
IF, ELSEIF, ELSE
La estructura IF
se utiliza para ejecutar un bloque de código si una condición es verdadera. ELSEIF
y ELSE
se utilizan para manejar condiciones adicionales y casos en los que ninguna de las condiciones anteriores es verdadera.
Sintaxis:
IF condition; // Código a ejecutar si la condición es verdadera ELSEIF another_condition; // Código a ejecutar si la otra condición es verdadera ELSE; // Código a ejecutar si ninguna de las condiciones anteriores es verdadera ENDIF;
Ejemplo:
Dcl-S age Int(10); age = 25; IF age < 18; dsply 'Menor de edad'; ELSEIF age >= 18 AND age < 65; dsply 'Adulto'; ELSE; dsply 'Senior'; ENDIF;
SELECT
La estructura SELECT
es útil cuando se tienen múltiples condiciones que evaluar. Es similar a una serie de IF
anidados, pero más clara y organizada.
Sintaxis:
SELECT; WHEN condition1; // Código a ejecutar si condition1 es verdadera WHEN condition2; // Código a ejecutar si condition2 es verdadera OTHER; // Código a ejecutar si ninguna de las condiciones anteriores es verdadera ENDSL;
Ejemplo:
Dcl-S grade Char(1); grade = 'B'; SELECT; WHEN grade = 'A'; dsply 'Excelente'; WHEN grade = 'B'; dsply 'Bueno'; WHEN grade = 'C'; dsply 'Suficiente'; OTHER; dsply 'Insuficiente'; ENDSL;
Bucles
Los bucles permiten repetir un bloque de código varias veces. En RPG, los bucles más comunes son DO
, DOW
(Do While) y DOU
(Do Until).
DO
El bucle DO
se utiliza para repetir un bloque de código un número específico de veces.
Sintaxis:
Ejemplo:
DOW (Do While)
El bucle DOW
repite un bloque de código mientras una condición sea verdadera.
Sintaxis:
Ejemplo:
DOU (Do Until)
El bucle DOU
repite un bloque de código hasta que una condición sea verdadera.
Sintaxis:
Ejemplo:
Ejercicios Prácticos
Ejercicio 1: Condicionales
Escribe un programa que lea un número y muestre si es positivo, negativo o cero.
Solución:
Dcl-S number Int(10); number = -5; IF number > 0; dsply 'Positivo'; ELSEIF number < 0; dsply 'Negativo'; ELSE; dsply 'Cero'; ENDIF;
Ejercicio 2: Bucles
Escribe un programa que imprima los números del 1 al 10 utilizando un bucle DO
.
Solución:
Resumen
En esta sección, hemos aprendido sobre las estructuras de control en RPG, incluyendo condicionales (IF
, ELSEIF
, ELSE
, SELECT
) y bucles (DO
, DOW
, DOU
). Estas estructuras son esenciales para dirigir el flujo de ejecución de un programa y realizar tareas repetitivas. Asegúrate de practicar estos conceptos con los ejercicios proporcionados para reforzar tu comprensión.
En la próxima sección, exploraremos las funciones y procedimientos, que nos permitirán modularizar y organizar mejor nuestro código.
Curso de Programación RPG
Módulo 1: Introducción a la Programación RPG
- ¿Qué es RPG?
- Configuración de tu Entorno de Desarrollo
- Sintaxis y Estructura Básica
- Programa Hola Mundo
Módulo 2: Conceptos Básicos
- Tipos de Datos y Variables
- Operadores y Expresiones
- Estructuras de Control
- Funciones y Procedimientos
Módulo 3: Trabajando con Datos
Módulo 4: Técnicas Avanzadas de Programación
Módulo 5: RPG IV y Más Allá
Módulo 6: Integrando RPG con Tecnologías Modernas
Módulo 7: Aplicaciones del Mundo Real
- Construyendo una Aplicación Simple
- Estudio de Caso: Sistema de Gestión de Inventarios
- Estudio de Caso: Sistema de Nómina
- Mejores Prácticas y Revisión de Código