En este tema, aprenderemos sobre la sintaxis y la estructura básica del Lenguaje de Control (CL). Este conocimiento es fundamental para escribir programas CL efectivos y eficientes.
Objetivos de Aprendizaje
- Comprender la estructura básica de un programa CL.
- Familiarizarse con la sintaxis de los comandos CL.
- Aprender a escribir y ejecutar un programa CL simple.
- Estructura Básica de un Programa CL
Un programa CL generalmente sigue una estructura específica que incluye:
- Declaración de Variables: Definición de variables que se utilizarán en el programa.
- Comandos de Control: Instrucciones que controlan el flujo del programa.
- Comandos de Ejecución: Comandos que realizan acciones específicas.
Ejemplo de Estructura Básica
PGM /* Inicio del programa */
DCL VAR(&VAR1) TYPE(*CHAR) LEN(10) /* Declaración de variable */
DCL VAR(&VAR2) TYPE(*DEC) LEN(5 0) /* Declaración de variable */
CHGVAR VAR(&VAR1) VALUE('Hola') /* Asignación de valor a la variable */
CHGVAR VAR(&VAR2) VALUE(12345) /* Asignación de valor a la variable */
SNDMSG MSG(&VAR1) TOUSR(*SYSOPR) /* Envío de mensaje */
ENDPGM /* Fin del programa */Explicación del Ejemplo
PGM: Marca el inicio del programa.DCL: Declara una variable. En este caso,&VAR1es una variable de tipo carácter de longitud 10, y&VAR2es una variable decimal de longitud 5.CHGVAR: Cambia el valor de una variable. Aquí,&VAR1se establece en 'Hola' y&VAR2en 12345.SNDMSG: Envía un mensaje. En este caso, el mensaje contenido en&VAR1se envía al usuario del sistema operativo.ENDPGM: Marca el final del programa.
- Sintaxis de los Comandos CL
Componentes de un Comando CL
Un comando CL generalmente tiene los siguientes componentes:
- Nombre del Comando: La acción que se va a realizar (por ejemplo,
CHGVAR). - Parámetros: Los detalles específicos de la acción (por ejemplo,
VAR(&VAR1)yVALUE('Hola')).
Ejemplo de Comando CL
Explicación del Comando
CHGVAR: Nombre del comando que cambia el valor de una variable.VAR(&VAR1): Parámetro que especifica la variable cuyo valor se va a cambiar.VALUE('Hola'): Parámetro que especifica el nuevo valor de la variable.
- Escribiendo tu Primer Programa CL
Vamos a escribir un programa CL simple que declare una variable, le asigne un valor y envíe un mensaje.
Ejemplo de Programa CL
PGM /* Inicio del programa */
DCL VAR(&MSG) TYPE(*CHAR) LEN(50) /* Declaración de variable */
CHGVAR VAR(&MSG) VALUE('¡Hola, Mundo!') /* Asignación de valor a la variable */
SNDMSG MSG(&MSG) TOUSR(*SYSOPR) /* Envío de mensaje */
ENDPGM /* Fin del programa */Explicación del Programa
PGM: Inicia el programa.DCL VAR(&MSG) TYPE(*CHAR) LEN(50): Declara una variable&MSGde tipo carácter con una longitud de 50.CHGVAR VAR(&MSG) VALUE('¡Hola, Mundo!'): Asigna el valor '¡Hola, Mundo!' a la variable&MSG.SNDMSG MSG(&MSG) TOUSR(*SYSOPR): Envía el mensaje contenido en&MSGal usuario del sistema operativo.ENDPGM: Finaliza el programa.
Ejercicio Práctico
Ejercicio 1
Escribe un programa CL que declare dos variables, les asigne valores y envíe un mensaje concatenado de ambas variables.
Solución
PGM /* Inicio del programa */
DCL VAR(&VAR1) TYPE(*CHAR) LEN(10) /* Declaración de variable */
DCL VAR(&VAR2) TYPE(*CHAR) LEN(10) /* Declaración de variable */
DCL VAR(&MSG) TYPE(*CHAR) LEN(20) /* Declaración de variable */
CHGVAR VAR(&VAR1) VALUE('Hola') /* Asignación de valor a la variable */
CHGVAR VAR(&VAR2) VALUE('Mundo') /* Asignación de valor a la variable */
CHGVAR VAR(&MSG) VALUE(&VAR1 *CAT &VAR2) /* Concatenación de variables */
SNDMSG MSG(&MSG) TOUSR(*SYSOPR) /* Envío de mensaje */
ENDPGM /* Fin del programa */Explicación de la Solución
DCL VAR(&VAR1) TYPE(*CHAR) LEN(10): Declara una variable&VAR1de tipo carácter con una longitud de 10.DCL VAR(&VAR2) TYPE(*CHAR) LEN(10): Declara una variable&VAR2de tipo carácter con una longitud de 10.DCL VAR(&MSG) TYPE(*CHAR) LEN(20): Declara una variable&MSGde tipo carácter con una longitud de 20.CHGVAR VAR(&VAR1) VALUE('Hola'): Asigna el valor 'Hola' a la variable&VAR1.CHGVAR VAR(&VAR2) VALUE('Mundo'): Asigna el valor 'Mundo' a la variable&VAR2.CHGVAR VAR(&MSG) VALUE(&VAR1 *CAT &VAR2): Concatenación de&VAR1y&VAR2y asignación del resultado a&MSG.SNDMSG MSG(&MSG) TOUSR(*SYSOPR): Envía el mensaje contenido en&MSGal usuario del sistema operativo.ENDPGM: Finaliza el programa.
Conclusión
En esta lección, hemos cubierto la estructura básica y la sintaxis de los programas CL. Ahora deberías ser capaz de escribir y ejecutar un programa CL simple. En la próxima lección, profundizaremos en los comandos básicos de CL, lo que te permitirá realizar tareas más complejas y útiles.
¡Sigue practicando y nos vemos en la siguiente lección!
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
