Académique Documents
Professionnel Documents
Culture Documents
COBOL
Ing. Ronald Pérez
ronperez@ucab.edu.ve
ronaldrr@cantv.net
ronaldperezr@hotmail.com
Procesamiento de Datos
Notaciones sobre formatos de
instrucciones COBOL
Para definir la sintaxis de una instrucción se
utiliza un formato estándar usado en todos los
manuales de Cobol, cuyos símbolos y
significados se explican en este punto. Para ello
usamos como ejemplo el formato de la
instrucción MULTIPLY que permite realizar
multiplicaciones.
Procesamiento de Datos
Notaciones sobre formatos de
instrucciones COBOL
MULTIPLY { literal-numérico-1 |
identificador-1 } BY identificador-2
[ ROUNDED ]
[, identificador-3 [ ROUNDED ] ] …
[; ON SIZE ERROR instrucción-
imperativa ]
Procesamiento de Datos
Estructura de un programa COBOL
oIDENTIFICATION DIVISION.
oENVIRONMENT DIVISION.
oDATA DIVISION.
oPROCEDURE DIVISION.
Procesamiento de Datos
IDENTIFICATION DIVISION
(División de identificación)
Tiene que ser incluida en cada programa
fuente. Sirve para proporcionar un nombre para
identificar el programa. Opcionalmente se
puede especificar información acerca del autor,
fecha en que fue escrito, etc.
Consta de siete posibles párrafos siendo
obligatorio solamente el primero de ellos. Su
formato general es el siguiente:
Procesamiento de Datos
IDENTIFICATION DIVISION
(División de identificación)
IDENTIFICATION DIVISION.
PROGRAM-ID. Nombre del programa.
[AUTHOR. Nombre programador.]
[INSTALLATION. Instalación.]
[DATE-WRITTEN. Fecha de escritura.]
[DATE-COMPILED. Fecha de compilación.]
[SECURITY. Comentario.]
[REMARKS. Comentario.]
Procesamiento de Datos
ENVIR0NMENT DIVISION
(División de entorno)
Permite definir el tipo de ordenador para el que
fue escrito el programa, así como los
dispositivos periféricos necesarios para soportar
los ficheros utilizados en el programa. El
formato general para esta división es el
siguiente:
Procesamiento de Datos
ENVIR0NMENT DIVISION
(División de entorno)
ENVIRONMENT DIVISION.
[CONFIGURATION SECTION.
[SOURCE-COMPUTER. Nombre ordenador.]
[OBJECT-COMPUTER. Nombre ordenador.]
[SPECIAL-NAMES. Nombre especiales.] ]
[INPUT-OUTPUT SECTION.
FILE-CONTROL.
Control de archivos.
[I-O CONTROL.
Control de entrada / salida.] ]
Procesamiento de Datos
ENVIR0NMENT DIVISION
(División de entorno)
CONFIGURATION SECTION
Esta sección es opcional. Su utilidad es indicar al
programa el modelo de ordenador a utilizar y asociar
nombres especiales que van a ser usados en el
programa.
Procesamiento de Datos
ENVIR0NMENT DIVISION
(División de entorno)
INPUT-OUTPUT SECTION
(Sección de entrada / salida)
Procesamiento de Datos
DATA DIVISION (División de datos)
Procesamiento de Datos
DATA DIVISION (División de datos)
DATA DIVISION.
[FILE SECTION.
[Declaración del archivo.
[Declaración del registro. ] ] ]
[WORKING-STORAGE SECTION.
[77 Declaración de variables independientes.]
[01 Declaración de registros.] ]
[LINKAGE SECTION.
[77 Declaración de variables independientes.]
[01 Declaración de registros.] ]
[COMMUNICATION SECTION.
[Descripción comunicación.]
[Declaración de registros. ] ]
[SCREEN SECTION.
[01 Descripción de pantallas.]]
Procesamiento de Datos
DATA DIVISION (División de datos)
FILE SECTION
(Sección de Ficheros)
Procesamiento de Datos
DATA DIVISION (División de datos)
WORKING-STORAGE SECTION
(Sección de Trabajo)
Procesamiento de Datos
DATA DIVISION (División de datos)
Números de nivel
Sirven para indicar la relación que existe un campo
y otros campos. Los campos de datos pueden
clasificarse en:
Campos elementales: Un campo elemental es
aquel que no puede subdividirse.
Campos compuestos: Un campo compuesto está
formado por varios elementales.
Campos independientes: Un campo
independiente es un campo de trabajo que no
depende de ningún otro.
Procesamiento de Datos
DATA DIVISION (División de datos)
Números de nivel
Los números de nivel que pueden utilizarse son
del 01 al 49, 66, 77 y 88. El nivel superior es el
01.
Las normas a seguir para utilizar los números de nivel
son las siguientes:
•El número de nivel 01 sólo puede ir delante del
nombre de registro.
•Los números de nivel 02 a 49 pueden preceder a
cualquier campo del registro, elemental o compuesto.
•El número de nivel 77 se utiliza para describir los
campos independientes, las variables
Procesamiento de Datos
DATA DIVISION (División de datos)
Cláusula PICTURE
Permite declarar el nombre, el tipo y el tamaño
de un campo elemental. Su formato es el
siguiente:
Procesamiento de Datos
DATA DIVISION (División de datos)
Cláusula PICTURE
Procesamiento de Datos
DATA DIVISION (División de datos)
Cláusula PICTURE
Procesamiento de Datos
DATA DIVISION (División de datos)
Cláusula PICTURE
Campos alfabéticos
Permiten almacenar letras y/o espacios en blanco. Para
definirlos se emplea el carácter A.
77 NOMBRE PIC A(10).
Campos alfanuméricos
Permiten almacenar cualquier carácter del alfabeto que
se esté utilizando. El carácter empleado para definirlos
es la X.
77 NIF PIC X(10).
Procesamiento de Datos
DATA DIVISION (División de datos)
Cláusula PICTURE
Campos numéricos
Campos numéricos
Procesamiento de Datos
DATA DIVISION (División de datos)
PICTURE para edición
Procesamiento de Datos
DATA DIVISION (División de datos)
Cláusula VALUE
Procesamiento de Datos
DATA DIVISION (División de datos)
Procesamiento de Datos
PROCEDURE DIVISION
(División de procedimientos)
VISUALIZAR DATOS: DISPLAY
DISPLAY “RESULTADO:” A
Procesamiento de Datos
PROCEDURE DIVISION
(División de procedimientos)
VISUALIZAR DATOS: DISPLAY
Otras opciones:
Procesamiento de Datos
PROCEDURE DIVISION
(División de procedimientos)
VISUALIZAR DATOS: DISPLAY
Otras opciones:
ACCEPT A
Procesamiento de Datos
PROCEDURE DIVISION
(División de procedimientos)
LEER DATOS: ACCEPT
Procesamiento de Datos
PROCEDURE DIVISION
(División de procedimientos)
SENTENCIA ADD
Opción TO
Esta opción hace que los valores de los operandos a su
izquierda sean añadidos a los valores de los operandos
a su derecha. Todos los operandos tienen que ser
numéricos de trabajo.
Procesamiento de Datos
PROCEDURE DIVISION
(División de procedimientos)
SENTENCIA ADD
Opción GIVING
Procesamiento de Datos
PROCEDURE DIVISION
(División de procedimientos)
SENTENCIA SUBTRACT
Opción FROM
Procesamiento de Datos
PROCEDURE DIVISION
(División de procedimientos)
SENTENCIA SUBTRACT
Opción GIVING
Los operandos que preceden a FROM se suman y el
total se resta del valor actual de la variable que esta a
continuación, almacenando el resultado en las variables
que siguen a la palabra GIVING.
SUBTRACT 1 FROM A GIVING B B = A - 1
SUBTRACT A B FROM R GIVING T T = R - ( A + B )
Procesamiento de Datos
PROCEDURE DIVISION
(División de procedimientos)
SENTENCIA MULTIPLY
Opción BY
El operando que precede a BY se multiplica por el valor
actual de la variable que se indica a continuación,
almacenando el resultado en ella misma. El proceso se
repite para el resto de variables que siguen a BY.
MULTIPLY 2 BY A A = A * 2
MULTIPLY A BY P T P = P * A T = T * A
Procesamiento de Datos
PROCEDURE DIVISION
(División de procedimientos)
SENTENCIA MULTIPLY
Opción GIVING
MULTIPLY 2 BY A GIVING P P = A * 2
MULTIPLY A BY P GIVING T T = P * A
Procesamiento de Datos
PROCEDURE DIVISION
(División de procedimientos)
SENTENCIA DIVIDE
Opción INTO
Procesamiento de Datos
PROCEDURE DIVISION
(División de procedimientos)
SENTENCIA DIVIDE
Opción GIVING
Procesamiento de Datos
PROCEDURE DIVISION
(División de procedimientos)
SENTENCIA DIVIDE
Opción BY
DIVIDE A BY 5 GIVING R R = A / 5
Procesamiento de Datos
PROCEDURE DIVISION
(División de procedimientos)
SENTENCIA DIVIDE
Opción REMAINDER
COMPUTE A = 0
COMPUTE AUX = A
COMPUTE RESULTADO = A * B + (B - 2) / 5
Procesamiento de Datos
SENTENCIAS DE CONTROL
Procesamiento de Datos
SENTENCIA IF
IF A > 0
MOVE 1 TO A Se ejecuta si la condición es verdadera.
END-IF
Procesamiento de Datos
SENTENCIA IF
Procesamiento de Datos
SENTENCIA IF
Procesamiento de Datos
SENTENCIA IF
IF A < B
COMPUTE C = B – A
DISPLAY "B - A = " NO ADVANCING
ELSE
COMPUTE C = A – B
DISPLAY "A - B = " NO ADVANCING
DISPLAY C.
Procesamiento de Datos
SENTENCIA IF
Procesamiento de Datos
SENTENCIA PERFORM
Formato 1
Procesamiento de Datos
SENTENCIA PERFORM
Formato 1
PERFORM CONTAR
...
CONTAR. Area
ADD 1 TO I
DISPLAY I.
Procesamiento de Datos
SENTENCIA PERFORM
Formato 2
Formato 3
MOVE 0 TO I
PERFORM CONTAR UNTIL I = 10
...
CONTAR.
ADD 1 TO I
DISPLAY I.
Procesamiento de Datos
SENTENCIA PERFORM
Formato 3
Procesamiento de Datos
SENTENCIA PERFORM
Formato 3
Procesamiento de Datos
SENTENCIA PERFORM
Formato 3
MOVE 7 TO I
PERFORM WITH TEST AFTER UNTIL I > 5
DISPLAY I Las instrucciones del bucle se ejecutan
una vez.
ADD 7 TO I
END-PERFORM
Procesamiento de Datos
SENTENCIA PERFORM
Formato 3
MOVE 7 TO I
Procesamiento de Datos