Presentación COBOL

  • View
    1.062

  • Download
    0

Embed Size (px)

Transcript

Estructura de un Programa COBOL Ing. Ronald Prez

ronperez@ucab.edu.ve ronaldrr@cantv.net ronaldperezr@hotmail.com

Procesamiento de Datos

Notaciones sobre formatos de instrucciones COBOLPara definir la sintaxis de una instruccin se utiliza un formato estndar usado en todos los manuales de Cobol, cuyos smbolos y significados se explican en este punto. Para ello usamos como ejemplo el formato de la instruccin MULTIPLY que permite realizar multiplicaciones.

Procesamiento de Datos

Notaciones sobre formatos de instrucciones COBOL

MULTIPLY { literal-numrico-1 | identificador-1 } BY identificador-2 [ ROUNDED ] [, identificador-3 [ ROUNDED ] ] [; ON SIZE ERROR instruccinimperativa ]

Procesamiento de Datos

Estructura de un programa COBOLUn programa fuente Cobol es un conjunto de instrucciones, prrafos y secciones que se agrupan en cuatro DIVISIONES obligatorias que, escritas en orden, son las siguientes:

oIDENTIFICATION DIVISION. oENVIRONMENT DIVISION. oDATA DIVISION. oPROCEDURE DIVISION.

Procesamiento de Datos

IDENTIFICATION DIVISION (Divisin de identificacin)Tiene que ser incluida en cada programa fuente. Sirve para proporcionar un nombre para identificar el programa. Opcionalmente se puede especificar informacin acerca del autor, fecha en que fue escrito, etc. Consta de siete posibles prrafos siendo obligatorio solamente el primero de ellos. Su formato general es el siguiente:

Procesamiento de Datos

IDENTIFICATION DIVISION (Divisin de identificacin)IDENTIFICATION DIVISION. PROGRAM-ID. Nombre del programa.

[AUTHOR. Nombre programador.][INSTALLATION. Instalacin.] [DATE-WRITTEN. Fecha de escritura.]

[DATE-COMPILED. Fecha de compilacin.][SECURITY. Comentario.] [REMARKS. Comentario.]Procesamiento de Datos

ENVIR0NMENT DIVISION (Divisin de entorno)Permite definir el tipo de ordenador para el que fue escrito el programa, as como los dispositivos perifricos necesarios para soportar los ficheros utilizados en el programa. El formato general para esta divisin es el siguiente:

Procesamiento de Datos

ENVIR0NMENT DIVISION (Divisin 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 (Divisin de entorno)CONFIGURATION SECTION Esta seccin 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.

Para esta ltima opcin se utiliza el prrafo SPECIALNAMES siendo interesante la posibilidad de intercambiar la funcin de la coma y el punto decimal :ENVIRONMENT DIVISION. CONFIGURATION SECTION. SPECIAL-NAMES. DECIMAL-POINT IS COMMA.Procesamiento de Datos

ENVIR0NMENT DIVISION (Divisin de entorno)INPUT-OUTPUT SECTION (Seccin de entrada / salida)

Esta seccin es tambin opcional. Proporciona informacin al compilador sobre los archivos utilizados en el programa y su relacin con los dispositivos externos. Se explicar con detalle a la hora de trabajar con ficheros.

Procesamiento de Datos

DATA DIVISION (Divisin de datos)Se utiliza para realizar una descripcin completa de los ficheros que intervienen en el programa, de sus registros lgicos y de las variables de trabajo. Su formato es el siguiente:

Procesamiento de Datos

DATA DIVISION (Divisin de datos)DATA DIVISION. [FILE SECTION. [Declaracin del archivo. [Declaracin del registro. ] ] ] [WORKING-STORAGE SECTION. [77 Declaracin de variables independientes.] [01 Declaracin de registros.] ] [LINKAGE SECTION. [77 Declaracin de variables independientes.] [01 Declaracin de registros.] ] [COMMUNICATION SECTION. [Descripcin comunicacin.] [Declaracin de registros. ] ] [SCREEN SECTION. [01 Descripcin de pantallas.]]Procesamiento de Datos

DATA DIVISION (Divisin de datos)FILE SECTION (Seccin de Ficheros)En esta seccin se describen detalladamente toda la informacin referente a los archivos utilizados en el programa, as como los registros junto con sus campos y el tipo de datos que se va a almacenar en ellos. Se ver con ms detalle en los apuntes de ficheros.

Procesamiento de Datos

DATA DIVISION (Divisin de datos)WORKING-STORAGE SECTION (Seccin de Trabajo)En ella se describen las variables usadas por el programa, ya sea con estructura de registro o como campos independientes. Para declarar una variable es necesario especificar su nmero de nivel, su nombre, su tipo y longitud, opcionalmente tambin se le puede asignar un valor inicial.

Procesamiento de Datos

DATA DIVISION (Divisin de datos)Nmeros de nivel Sirven para indicar la relacin 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 ningn otro.

Procesamiento de Datos

DATA DIVISION (Divisin de datos)Nmeros de nivel Los nmeros 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 nmeros de nivel son las siguientes: El nmero de nivel 01 slo puede ir delante del nombre de registro. Los nmeros de nivel 02 a 49 pueden preceder a cualquier campo del registro, elemental o compuesto. El nmero de nivel 77 se utiliza para describir los campos independientes, las variablesProcesamiento de Datos

DATA DIVISION (Divisin de datos)Clusula PICTURE Permite declarar el nombre, el tipo y el tamao de un campo elemental. Su formato es el siguiente:nn identificador PIC IS especificacin de formato.

nn especifica el numero de nivel. identificador es el nombre que se le da a ese campo. Nombre al que podremos hacer referencia posteriormente.Procesamiento de Datos

DATA DIVISION (Divisin de datos)Clusula PICTUREnn identificador PIC IS especificacin de formato.

El tipo del campo depende de los caracteres que se empleen para definir la especificacin de formato. La longitud de un campo viene dada por el nmero de caracteres empleados en la especificacin de formato para declarar el campo. Los campos pueden ser alfabticos, alfanumricos y numricos.Procesamiento de Datos

DATA DIVISION (Divisin de datos)Clusula PICTUREnn identificador PIC IS especificacin de formato.

El tipo del campo depende de los caracteres que se empleen para definir la especificacin de formato. La longitud de un campo viene dada por el nmero de caracteres empleados en la especificacin de formato para declarar el campo. Los campos pueden ser alfabticos, alfanumricos y numricos.Procesamiento de Datos

DATA DIVISION (Divisin de datos)Clusula PICTURE Campos alfabticos Permiten almacenar letras y/o espacios en blanco. Para definirlos se emplea el carcter A. 77 NOMBRE PIC A(10). Campos alfanumricos Permiten almacenar cualquier carcter del alfabeto que se est utilizando. El carcter empleado para definirlos es la X. 77 NIF PIC X(10).

Procesamiento de Datos

DATA DIVISION (Divisin de datos)Clusula PICTURE Campos numricosAlmacenan cualquier valor numrico que no tenga ms de 18 cifras. Los caracteres que se emplean para definir un campo de este tipo son 9, S y V. El 9 representa una cifra del 0 al 9, es decir un dgito decimal. 77 PRECIO PIC 9(6). La S indica la aparicin de signo. No es obligatorio, pero si conveniente porque si no Cobol, despus de cada operacin lo suprime. No ocupa espacio en memoria y cuando se pone, debe ser el primer carcter de la especificacin de formato.Procesamiento de Datos

DATA DIVISION (Divisin de datos)Clusula PICTURE Campos numricos77 SALDO PIC S9(7). La V representa la posicin del punto decimal. Se denomina punto decimal implcito ya que no ocupa espacio en memoria y slo se usa internamente para alinear las partes decimales de los campos cuando se quiere realizar una operacin. 77 NOTA PIC 99V99.Procesamiento de Datos

DATA DIVISION (Divisin de datos)PICTURE para edicin Los caracteres descritos hasta ahora para definir los datos numricos, no sirven para ser visualizados por pantalla. Para se utilizan los caracteres de edicin, que son los siguientes: La Z representa una cifra del 0 al 9. Si la cifra a escribir se corresponde con un 0 no significativo, en su lugar se escribe un espacio en blanco. El * (asterisco) representa una cifra del 0 al 9. Si la cifra a escribir se corresponde con un 0 no significativo, se escribe en su lugar un asterisco.Procesamiento de Datos

DATA DIVISION (Divisin de datos)PICTURE para edicin Los caracteres Z y * no pueden ir precedidos, pero si seguidos, del carcter 9.El . (punto) hace que se inserte un punto decimal para separar la parte entera de la parte fraccionaria al escribir el campo.

La , (coma) hace que se inserte este mismo carcter en el lugar que se indica de la especificacin de formato.

Procesamiento de Datos

DATA DIVISION (Divisin de datos)Clusula VALUE Permite asignar un valor inicial para un campo que se define con PICTURE dentro de la WORKINGSTORAGE SECTION.77 TOTAL PIC 9(5) VALUE 0.

Procesamiento de Datos

DATA DIVISION (Divisin de datos)LINKAGE SECTION (Seccin de Enlace) Permite declarar campos de memoria para ser utilizados por otros programas y por consiguiente, conservar los datos de un programa para otro.COMMUNICATION SECTION (Seccin de Comunicaciones) Permite procesar mensajes y controlar el flujo de los mismos.

SCREEN SECTION (Seccin de Pantalla) Controla la representacin de los datos en la pantalla de la forma ms optima.Procesamiento de Datos

PROCEDURE DIVISION (Divisin de procedimien