BlogPL/1

PL/1 – Estructura básica de un programa


PL/1 (Programming Language One) es un lenguaje de programación de propósito general que fue diseñado en los años 60 y 70. Fue desarrollado por IBM con la intención de combinar las capacidades de lenguajes como COBOL, Fortran y ALGOL. PL/1 es un lenguaje de alto nivel que proporciona facilidades tanto para la programación procedural como para la orientada a eventos. Aunque no es tan comúnmente utilizado hoy en día como otros lenguajes, ha influido en el desarrollo de otros lenguajes y ha tenido un impacto significativo en la evolución de la programación.

Ejemplo de un programa PL/1

A continuación, te presento un ejemplo simple de un programa en PL/1 que muestra el uso básico del lenguaje. Este programa es un ejemplo de un programa procedural simple que imprime un mensaje en la pantalla:

/* Programa de ejemplo en PL/1 */

DECLARE mensaje CHAR(30);

/* Definición de la función principal */
main: PROCEDURE OPTIONS(MAIN);
    mensaje = 'Hola, este es un programa en PL/1.';
    PUT SKIP LIST(mensaje);
END main;

En este ejemplo:

  • DECLARE mensaje CHAR(30);: Declara una variable llamada «mensaje» que puede contener hasta 30 caracteres.
  • main: PROCEDURE OPTIONS(MAIN);: Define la función principal del programa llamada «main».
  • mensaje = 'Hola, este es un programa en PL/1.';: Asigna un mensaje a la variable «mensaje».
  • PUT SKIP LIST(mensaje);: Imprime el contenido de la variable «mensaje» en la pantalla.
  • END main;: Finaliza la definición de la función principal.

Este programa es bastante sencillo y tiene un enfoque procedural. PL/1 también permite la programación orientada a eventos y tiene características avanzadas como manipulación de cadenas, manipulación de archivos, manipulación de estructuras de datos complejas, entre otras.

Ten en cuenta que el uso de PL/1 ha disminuido a lo largo de los años, y hoy en día, muchos desarrolladores prefieren lenguajes más modernos y populares. Sin embargo, este ejemplo te da una idea básica de la estructura y la sintaxis de PL/1.

Variables de un programa PL/1

PL/1 es un lenguaje de programación que admite varios tipos de variables para manejar diferentes tipos de datos. Aquí hay algunos tipos de variables comunes en PL/1, junto con ejemplos:

Caracter (CHAR)

  • Uso: Almacena caracteres.
DECLARE caracter CHAR(05);
caracter = 'ABCDE';

La variable caracter almacena una cadena de 5 alfanuméricos.

BIN FIXED (Fixed Binary)

  • Uso: Almacena enteros de longitud fija.
DECLARE entero BIN FIXED (31);
entero = 42;

La variable entero es de tipo BIN FIXED y almacena un número entero de 31 bits.

DEC FIXED (Decimal Fixed)

  • Uso: Almacena números decimales de punto fijo.
DECLARE decimal DEC FIXED (5, 2);
decimal = 123.45;

La variable decimal es de tipo DEC FIXED y se especifica con una longitud total de 5 dígitos y 2 dígitos a la derecha del punto decimal (5, 2). Esto significa que decimal puede almacenar números con hasta dos dígitos a la derecha del punto decimal.

PIC ‘9’ (Picture Clause con ‘9’)

  • Uso: Especifica una representación numérica con caracteres ‘9’.
DCL numero CHAR(5) PIC '99999';
numero = '12345';

La variable numero es de tipo CHAR con una cláusula PIC '99999', lo que significa que solo puede contener dígitos numéricos (‘0’ a ‘9’). En este caso, numero es una cadena de longitud 5 que puede almacenar números enteros de hasta 99999.

BIT

  • Uso: Almacena datos binarios individuales.
DCL bit BIT(1);
bit = '1'B;

La variable bit es de tipo BIT y almacena un único bit de información. En el ejemplo, se le asigna el valor ‘1’B, indicando que el bit está activado. Su principal función es la de activar SWITCHS.

Principales sentencias de un programa PL/1

DECLARE

Se utiliza para declarar variables y constantes.

DECLARE VARIABLE X FIXED DECIMAL(5,2);
DECLARE CONSTANT PI FIXED DECIMAL(3,2) INIT(3.14);

IF-THEN-ELSE

Se utiliza para la ejecución condicional de código.

IF X > 0 THEN
PUT LIST ('X es positivo');
ELSE
PUT LIST ('X es negativo o cero');

DO

Se utiliza para ejecutar un bloque de código repetidamente. Puede ser un bucle infinito o estar controlado por una condición. En este enlace se puede encontrar más información.

DO WHILE (X < 10);
    PUT LIST ('X = ', X);
    X = X + 1;
END;

SELECT

Se utiliza para ejecutar una de varias secuencias de instrucciones según el valor de una expresión.

SELECT;
    WHEN (X > 0) PUT LIST ('X es positivo');
    WHEN (X < 0) PUT LIST ('X es negativo');
    OTHERWISE PUT LIST ('X es cero');
END;

CALL

Se utiliza para llamar a otros programas o subrutinas desde el programa actual.

CALL OTRO_PROGRAMA(ARG1, ARG2);

PUT LIST

Se utiliza para escribir datos en la salida estándar.

PUT LIST ('Hola, mundo');

GET LIST

Se utiliza para leer datos de la entrada estándar.

GET LIST (X);

Estas son solo algunas de las principales sentencias en PL/1. El lenguaje también incluye muchas otras características y sentencias para el manejo de archivos, manipulación de cadenas, manipulación de estructuras de datos, etc.

PL/I: From PC Workstation to Mainframe

Este libro es una introducción exhaustiva al lenguaje PL/I, que ofrece una transición fluida desde el desarrollo en estaciones de trabajo de PC hasta entornos de mainframe. PL/I ha sido un pilar en sistemas empresariales críticos, y esta guía detalla cómo aprovecharlo para aplicaciones complejas y de alto rendimiento.

Temas principales:

  • Fundamentos y sintaxis de PL/I
  • Diferencias entre entornos de PC y mainframe
  • Mejores prácticas para migraciones de sistemas
  • Ejemplos prácticos de código y casos de uso

Este libro es ideal para aquellos que buscan aprender PL/I o fortalecer sus habilidades en este lenguaje versátil, que sigue siendo importante en sectores como la banca y la gestión de datos.

3 comentarios en «PL/1 – Estructura básica de un programa»

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *