Las sentencias condicionales son fundamentales en cualquier lenguaje de programación, ya que permiten tomar decisiones basadas en condiciones específicas. En CL (Control Language), las sentencias condicionales se utilizan para ejecutar diferentes bloques de código dependiendo de si una condición es verdadera o falsa.
Conceptos Clave
- Condición: Una expresión que se evalúa como verdadera o falsa.
- IF: La sentencia condicional básica que ejecuta un bloque de código si la condición es verdadera.
- ELSE: Se utiliza junto con IF para ejecutar un bloque de código alternativo si la condición es falsa.
- ELSEIF: Permite evaluar múltiples condiciones en una estructura condicional.
- END: Marca el final de una estructura condicional.
Sintaxis Básica
La estructura básica de una sentencia condicional en CL es la siguiente:
Ejemplo Básico
PGM DCL VAR(&AGE) TYPE(*DEC) LEN(3 0) CHGVAR VAR(&AGE) VALUE(25) IF COND(&AGE >= 18) THEN(DO) SNDPGMMSG MSG('Eres mayor de edad.') ENDDO ENDPGM
En este ejemplo, si la variable &AGE
es mayor o igual a 18, se enviará un mensaje indicando que la persona es mayor de edad.
Uso de ELSE
Para manejar el caso en que la condición no se cumple, se utiliza la cláusula ELSE:
PGM DCL VAR(&AGE) TYPE(*DEC) LEN(3 0) CHGVAR VAR(&AGE) VALUE(16) IF COND(&AGE >= 18) THEN(DO) SNDPGMMSG MSG('Eres mayor de edad.') ELSE DO SNDPGMMSG MSG('Eres menor de edad.') ENDDO ENDPGM
En este ejemplo, si &AGE
es menor de 18, se enviará un mensaje indicando que la persona es menor de edad.
Uso de ELSEIF
Para evaluar múltiples condiciones, se puede utilizar la cláusula ELSEIF:
PGM DCL VAR(&SCORE) TYPE(*DEC) LEN(3 0) CHGVAR VAR(&SCORE) VALUE(85) IF COND(&SCORE >= 90) THEN(DO) SNDPGMMSG MSG('Calificación: A') ELSEIF COND(&SCORE >= 80) THEN(DO) SNDPGMMSG MSG('Calificación: B') ELSEIF COND(&SCORE >= 70) THEN(DO) SNDPGMMSG MSG('Calificación: C') ELSE DO SNDPGMMSG MSG('Calificación: F') ENDDO ENDPGM
En este ejemplo, se evalúan varias condiciones para determinar la calificación basada en el puntaje.
Ejercicios Prácticos
Ejercicio 1: Determinar el Estado del Agua
Escribe un programa CL que determine el estado del agua (sólido, líquido o gas) basado en la temperatura en grados Celsius.
PGM DCL VAR(&TEMP) TYPE(*DEC) LEN(3 0) CHGVAR VAR(&TEMP) VALUE(50) IF COND(&TEMP <= 0) THEN(DO) SNDPGMMSG MSG('El agua está en estado sólido.') ELSEIF COND(&TEMP >= 100) THEN(DO) SNDPGMMSG MSG('El agua está en estado gaseoso.') ELSE DO SNDPGMMSG MSG('El agua está en estado líquido.') ENDDO ENDPGM
Ejercicio 2: Clasificación de Edad
Escribe un programa CL que clasifique a una persona en una categoría de edad: niño, adolescente, adulto o anciano.
PGM DCL VAR(&AGE) TYPE(*DEC) LEN(3 0) CHGVAR VAR(&AGE) VALUE(45) IF COND(&AGE < 13) THEN(DO) SNDPGMMSG MSG('Categoría: Niño') ELSEIF COND(&AGE < 20) THEN(DO) SNDPGMMSG MSG('Categoría: Adolescente') ELSEIF COND(&AGE < 65) THEN(DO) SNDPGMMSG MSG('Categoría: Adulto') ELSE DO SNDPGMMSG MSG('Categoría: Anciano') ENDDO ENDPGM
Resumen
En esta sección, hemos aprendido sobre las sentencias condicionales en CL, incluyendo el uso de IF, ELSE y ELSEIF para tomar decisiones basadas en condiciones. Estas estructuras son esenciales para controlar el flujo de un programa y permitir que se ejecuten diferentes bloques de código en función de las condiciones evaluadas. Asegúrate de practicar con los ejercicios proporcionados para reforzar tu comprensión de estos conceptos.
Curso de CL (Lenguaje de Control)
Módulo 1: Introducción a CL
- ¿Qué es el Lenguaje de Control?
- Configuración de tu Entorno
- Sintaxis y Estructura Básica
- Escribiendo tu Primer Programa CL
Módulo 2: Comandos Básicos de CL
- Introducción a los Comandos de CL
- Comandos de Gestión de Archivos
- Comandos de Gestión de Trabajos
- Comandos de Gestión del Sistema
Módulo 3: Variables y Expresiones
- Entendiendo las Variables
- Definiendo y Usando Variables
- Expresiones y Operadores
- Manipulación de Cadenas
Módulo 4: Estructuras de Control
Módulo 5: Comandos Avanzados de CL
- Operaciones Avanzadas de Archivos
- Programación Avanzada de Trabajos
- Comandos de Configuración del Sistema
- Seguridad y Permisos