COBOL
Estructura
de un programa
·
IDENTIFICATION DIVISION:
Consta de la información del programa
·
ENVIRONMENT DIVISION: Se
utiliza para describir el ambiente en el que se ejecutará el programa, detalles
como el orden de clasificación, el símbolo de la moneda y el símbolo de punto
decimal.
·
DATA DIVISION: Es donde se
definirán los datos que se vayan a utilizar en el programa.
·
PROCEDURE DIVISION: Es aquí
donde se escribe el código o algoritmo del programa para su correcto
funcionamiento.
Algunos compiladores
COBOL requieren que todas las divisiones deben estar presente en un programa,
mientras que otros sólo requieren mínimo de la IDENTIFICATION DIVISION y la
PROCEDURE DIVISION.
Ejemplo de un programa en COBOL:
IDENTIFICATION
DIVISION.
PROGRAM-ID. HOLA.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-NOMBRE PIC A(30).
01 WS-ID PIC 9(5) VALUE '12345'.
PROCEDURE DIVISION.
A000-FIRST-PARA.
DISPLAY
'HOLA MUNDO'.
MOVE 'Eduardo'
TO WS-NOMBRE.
DISPLAY "Mi nombre
es: "WS-NOMBRE.
DISPLAY "Mi ID es: "WS-ID.
STOP RUN.
Tipos
de datos
- Numéricos:
o 9
Para campos numéricos.
o V
Para variables con punto decimal.
o S Para
variables con signo.
·Booleanos: Este lenguaje no posee
datos booleanos, funciona a través de condiciones.
- strings:
o A
Para ampos alfabéticos.
o X
Campos alfanuméricos.
Estructuras
repetitivas
·
Ciclo de iteraciones fijas:
Realiza una instrucción una cantidad de veces previamente establecida.
PERFORM
.
.
(Cantidad de veces) TIMES
·
Ciclo de iteraciones indefinidas:
Realiza una instrucción hasta que una condición
se cumpla.
PERFORM
.
Instrucción
.
Instrucción
UNTIL (condición)
Estructura
condicional (If, Case)
- IF: Realiza una instrucción cuando se cumpla una condición especifica
IF condición THEN
Instrucción
Instrucción
ELSE
Instrucción
END-IF.
- Case: este lenguaje de programación no soporta una estructura de tipo case.
Funciones
o Llamada
por referencia
Si los valores de las
variables en el programa llamado son modificados, a continuación, los nuevos
valores se reflejan en el programa que realiza la llamada. Si por cláusula no
es especificado, entonces las variables siempre se pasan por referencia.
o
Sintaxis:
CALL sub-prog-name USING variable-1, variable-2.
o
Ejemplo donde se usa una
función para llenar una variable
IDENTIFICATION DIVISION.
PROGRAM-ID. MAIN.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-estudiante-ID
PIC 9(4) VALUE 1000.
01
WS-estudiante-nombre PIC A (15) VALUE 'Eduardo'.
PROCEDURE DIVISION.
CALL 'UTIL'
USING WS- estudiante-ID, WS- estudiante-nombre.
DISPLAY 'ID
del estudiante : ' WS-STUDENT-ID.
DISPLAY
'Nombre del estudiante : ' WS-STUDENT-NAME.
STOP RUN.
Programa llamado
IDENTIFICATION
DIVISION.
PROGRAM-ID. UTIL.
DATA DIVISION.
LINKAGE SECTION.
01 LS- estudiante-ID PIC 9(4).
01 LS- estudiante-nombre PIC A(15).
PROCEDURE DIVISION USING LS-STUDENT-ID,
LS-STUDENT-NAME.
DISPLAY
'Programa llamado'.
MOVE 1111 TO
LS-STUDENT-ID.
EXIT PROGRAM.
o Llamada
por contenido
Si los valores de las
variables en el programa llamado son modificados, a continuación, los nuevos
valores no se reflejarán en el programa que realiza la llamada. Sintaxis
CALL sub-prog-name
USING
BY CONTENT variable-1, BY CONTENT variable-2.
o Ejemplo
Ejemplo donde se usa una función para llenar una variable
IDENTIFICATION DIVISION.
PROGRAM-ID. MAIN.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-estudiante-ID PIC 9(4) VALUE 1000.
01 WS-nombre-estudiante
PIC A(15) VALUE 'Eduardo'.
PROCEDURE DIVISION.
CALL 'UTIL'
USING BY CONTENT WS- estudiante-ID, BY CONTENT WS- nombre-estudiante.
DISPLAY 'ID del estudiante : ' WS- estudiante-ID.
DISPLAY
'Nombre del estudiante: ' WS- nombre-estudiante.
STOP RUN.
Programa llamado
IDENTIFICATION DIVISION.
PROGRAM-ID. UTIL.
DATA DIVISION.
LINKAGE
SECTION.
01 LS- estudiante-ID PIC 9(4).
01 LS- nombre-estudiante PIC A(15).
PROCEDURE
DIVISION USING LS- estudiante-ID, LS- nombre-estudiante.
DISPLAY
'Programa llamado'.
MOVE 1111 TO
LS- estudiante-ID.
EXIT PROGRAM
Comentarios
Publicar un comentario