En este tema, aprenderemos cómo definir y utilizar variables en el Lenguaje de Control (CL). Las variables son fundamentales en cualquier lenguaje de programación, ya que nos permiten almacenar y manipular datos de manera dinámica.

Contenido

¿Qué es una Variable?

Una variable es un espacio en la memoria que se utiliza para almacenar datos que pueden cambiar durante la ejecución de un programa. En CL, las variables se utilizan para almacenar valores que pueden ser utilizados y manipulados por los comandos CL.

Tipos de Variables en CL

En CL, las variables pueden ser de diferentes tipos, dependiendo del tipo de datos que almacenan. Los tipos más comunes son:

  • Entero (INT): Almacena números enteros.
  • Decimal (DEC): Almacena números decimales.
  • Carácter (CHAR): Almacena cadenas de texto.
  • Fecha (DATE): Almacena fechas.
Tipo Descripción Ejemplo
INT Números enteros 10, -5, 0
DEC Números decimales 10.5, -3.14
CHAR Cadenas de texto "Hola", "123"
DATE Fechas '2023-10-01'

Declaración de Variables

Para declarar una variable en CL, utilizamos el comando DCL (Declare). La sintaxis básica es la siguiente:

DCL VAR(&variable_name) TYPE(*type) LEN(length)
  • VAR(&variable_name): Nombre de la variable, precedido por un ampersand (&).
  • TYPE(*type): Tipo de la variable (e.g., *CHAR, *DEC).
  • LEN(length): Longitud de la variable (opcional, dependiendo del tipo).

Ejemplos de Declaración

DCL VAR(&nombre) TYPE(*CHAR) LEN(20)
DCL VAR(&edad) TYPE(*INT)
DCL VAR(&salario) TYPE(*DEC) LEN(7 2)
DCL VAR(&fecha_nacimiento) TYPE(*DATE)

Asignación de Valores a Variables

Para asignar un valor a una variable, utilizamos el comando CHGVAR (Change Variable). La sintaxis básica es la siguiente:

CHGVAR VAR(&variable_name) VALUE(value)
  • VAR(&variable_name): Nombre de la variable.
  • VALUE(value): Valor que se asignará a la variable.

Ejemplos de Asignación

CHGVAR VAR(&nombre) VALUE('Juan Perez')
CHGVAR VAR(&edad) VALUE(30)
CHGVAR VAR(&salario) VALUE(2500.50)
CHGVAR VAR(&fecha_nacimiento) VALUE('1990-05-15')

Uso de Variables en Comandos CL

Las variables pueden ser utilizadas en varios comandos CL para realizar operaciones y manipular datos. A continuación, se muestra un ejemplo de cómo utilizar variables en un comando CL.

Ejemplo Práctico

Supongamos que queremos crear un programa CL que salude al usuario y muestre su edad. El programa podría ser algo así:

PGM
    DCL VAR(&nombre) TYPE(*CHAR) LEN(20)
    DCL VAR(&edad) TYPE(*INT)

    CHGVAR VAR(&nombre) VALUE('Juan Perez')
    CHGVAR VAR(&edad) VALUE(30)

    SNDPGMMSG MSG('Hola, ' *CAT &nombre *TCAT '. Tienes ' *CAT &edad *TCAT ' años.')
ENDPGM

En este ejemplo:

  • Declaramos dos variables: &nombre y &edad.
  • Asignamos valores a estas variables.
  • Utilizamos las variables en el comando SNDPGMMSG para enviar un mensaje al usuario.

Ejercicios Prácticos

Ejercicio 1

Objetivo: Declarar una variable de tipo carácter y asignarle un valor.

  1. Declara una variable llamada &ciudad de tipo *CHAR y longitud 15.
  2. Asigna el valor 'Madrid' a la variable &ciudad.

Solución:

DCL VAR(&ciudad) TYPE(*CHAR) LEN(15)
CHGVAR VAR(&ciudad) VALUE('Madrid')

Ejercicio 2

Objetivo: Declarar una variable de tipo entero y utilizarla en un comando CL.

  1. Declara una variable llamada &numero de tipo *INT.
  2. Asigna el valor 100 a la variable &numero.
  3. Utiliza la variable &numero en el comando SNDPGMMSG para enviar un mensaje que diga "El número es 100".

Solución:

PGM
    DCL VAR(&numero) TYPE(*INT)
    CHGVAR VAR(&numero) VALUE(100)
    SNDPGMMSG MSG('El número es ' *CAT &numero)
ENDPGM

Conclusión

En esta sección, hemos aprendido cómo definir y utilizar variables en CL. Hemos visto los diferentes tipos de variables, cómo declararlas, cómo asignarles valores y cómo utilizarlas en comandos CL. Las variables son una herramienta poderosa que nos permite escribir programas más flexibles y dinámicos.

En el próximo tema, exploraremos las expresiones y operadores en CL, lo que nos permitirá realizar cálculos y manipulaciones más complejas con nuestras variables.

© Copyright 2024. Todos los derechos reservados