Hace tiempo que leí un artículo sobre lenguajes de programación más usados en el mundo y veo sin sorpresa que COBOL a pesar de ser un lenguaje bastante vetusto sigue siendo uno de los más utilizados, sobre todo en la industria bancaria. Ya sea por su alta capacidad para procesar grandes cantidades de archivos y realizar complejas operaciones lógicas y aritméticas.
Ejemplo 1. Crear un programa que muestre la dirección de una persona. Deberá contar con estos campos:
- Calle.
- Número de casa.
- Ciudad.
- País.
direccion.cbl
****************************************************************** * Author: Alquimista * Date: 23/03/2024 * Purpose: Mostrar una direccion * Tectonics: cbl, cob ****************************************************************** IDENTIFICATION DIVISION. PROGRAM-ID. VARIABLES. DATA DIVISION. FILE SECTION. WORKING-STORAGE SECTION. 01 WS-DIRECCION. 05 WS-CALLE PIC X(18). 05 WS-NUM-CASA PIC 9(2). 05 WS-CIUDAD PIC X(19). 05 WS-PAIS PIC X(6) VALUE "KYONGN". PROCEDURE DIVISION. MAIN-PROCEDURE. MOVE 65 TO WS-NUM-CASA. MOVE 'PATAGON PTE SUR' TO WS-CALLE. MOVE ' TINUAJA, LINDONG.' TO WS-CIUDAD. DISPLAY "CALLE: "WS-CALLE. DISPLAY "NUMERO: "WS-NUM-CASA. DISPLAY "CIUDAD: "WS-CIUDAD. DISPLAY "PAIS: "WS-PAIS. DISPLAY "DIRECCION COMPLETA: "WS-DIRECCION. STOP RUN. END PROGRAM VARIABLES.
Salida:
CALLE: PATAGON PTE SUR NUMERO: 65 CIUDAD: TINUAJA, LINDONG. PAIS: KYONGN DIRECCION COMPLETA: PATAGON PTE SUR 65 TINUAJA, LINDONG. KYONGN
¿Qué podemos observar en este ejemplo?
- Uso del comando ``MOVE`` para asignar valores (podemos usar ``VALUE`` en la declaración de la variable). `
- El uso de una variable "padre" denominada WS-DIRECCION. Si imprimimos esta variable, mostrará cada uno de los valores de las demás variables.
- No es necesario hacer una concatenación compleja para mostrar los datos con ``DISPLAY``.
Modificando el programa para poder introducir datos tenemos:
****************************************************************** * Author: ALQUIMISTA * Date: 23/03/2024 * Purpose: MOSTRAR DIRECCION * Tectonics: cobc,cob, cbl ****************************************************************** IDENTIFICATION DIVISION. PROGRAM-ID. DIRECCION. DATA DIVISION. FILE SECTION. WORKING-STORAGE SECTION. 01 WS-DIRECCION. 05 WS-CALLE PIC X(18). 05 WS-NUM-CASA PIC 9(2). 05 WS-CIUDAD PIC X(19). 05 WS-PAIS PIC X(6) VALUE "SHUNHG". PROCEDURE DIVISION. MAIN-PROCEDURE. MOVE 35 TO WS-NUM-CASA. MOVE 'MANRRIQUEZ SUROESTE' TO WS-CALLE. MOVE ' TOCHIACA, CHIANG.' TO WS-CIUDAD. DISPLAY "CALLE: "WS-CALLE. DISPLAY "NUMERO: "WS-NUM-CASA. DISPLAY "CIUDAD: "WS-CIUDAD. DISPLAY "PAIS: "WS-PAIS. DISPLAY "DIRECCION COMPLETA: "WS-DIRECCION. PERFORM ENTRADA-DATOS 0 TIMES. ENTRADA-DATOS. DISPLAY "INTRODUCE CALLE:". ACCEPT WS-CALLE. DISPLAY "INTRODUCE NUMERO DE CASA:". ACCEPT WS-NUM-CASA. DISPLAY "INTRODUCE CIUDAD:". ACCEPT WS-CIUDAD. DISPLAY "INTRODUCE PAIS:". ACCEPT WS-PAIS. PERFORM MOSTRAR-DATOS 0 TIMES. MOSTRAR-DATOS. DISPLAY "============= DATOS DE LA CALLE =============". DISPLAY "CALLE: "WS-CALLE. DISPLAY "NUMERO: "WS-NUM-CASA. DISPLAY "CIUDAD: "WS-CIUDAD. DISPLAY "PAIS: "WS-PAIS. DISPLAY "DIRECCION COMPLETA: "WS-DIRECCION. DISPLAY "=============================================". PERFORM MSG-FINAL 0 TIMES. MSG-FINAL. DISPLAY "HECHO". STOP RUN. END PROGRAM DIRECCION.
¿Qué podemos notar en el programa modificado?
- Uso de párrafos (las etiquetas).
- Uso del verbo ``PERFORM`` y ``TIMES`` para ejecutar un determinado número de veces un conjunto de instrucciones COBOL.
- Uso del verbo ``ACCEPT`` para introducir datos en COBOL.
La sintaxis de una párrafo es como la que sigue:
NOMBRE-PARRAFO BLOQUE-CODIGO
La sintaxis para "invocar" párrafos es como la que sigue:
PERFORM NOMBRE-PARRAFO numeroVecesAEjecutar TIMES.
Donde ``numeroVecesAEjecutar`` debe ser el número de veces que se quiere invocar. A este código podríamos agregarle otra variable: código postal. Pero será en otra ocasión. Hemos aprendido algunas cosas de este lenguaje y se continuará en próximas entregas.
Nota: Estos porgramas se realizaron usando OpenCobolIDE. Si quieres probarlo(s), deberás tener instalada esta herramienta.
Enlaces:
https://pypi.org/project/OpenCobolIDE/
Comentarios
Publicar un comentario