COBOL


Resultado de imagen para cobol logo

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

Entradas más populares de este blog

Visual Basic

Pascal