Buscar este blog

Mostrando entradas con la etiqueta estructura cobol. Mostrar todas las entradas
Mostrando entradas con la etiqueta estructura cobol. Mostrar todas las entradas

jueves, 8 de agosto de 2013

COBOL - Estructuras de un programa en COBOL

DIVISIONES, SECCIONES Y PÁRRAFOS

IDENTIFICATION DIVISION.
[ENVIRONMENT DIVISION.]
[DATA DIVISION.]
PROCEDURE DIVISION.


IDENTIFICATION DIVISION.
PROGRAM-ID. EJEMPLO.
AUTHOR. EUI.
DATE-WRITTEN. 01-ENERO-93.
DATE-COMPILED. 01-ENERO-93.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SOURCE-COMPUTER. IBM PERSONAL COMPUTER.
OBJECT-COMPUTER. IBM PERSONAL COMPUTER.
SPECIAL-NAMES.
DECIMAL-POINT IS COMMA.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT IMPRESORA ASSING TO PRINTER.


DIVISIONES EN COBOL
IDENTIFICATION DIVISION
PROPÓSITO: Identificar el programa de forma que se distinga de
los otros, además de proporcionar el nombre del autor, cuando se
escribió etc.

PÁRRAFOS
PROGRAM-ID.
AUTHOR.
INSTALLATION.
DATE-WRITTEN.
DATE-COMPILED.
SECURITY.
REMARKS.

ENVIRONMENT DIVISION
PROPÓSITO: En esta división se describe el
entorno físico en el cual se va a desarrollar el
programa. Entendiéndose por entorno, la clase de
sistema que se va a utilizar así como los dispositivos
de entrada/salida.

SECCIONES EN COBOL


CONFIGURATION SECTION.
INPUT-OUPUT SECTION.


CONFIGURATION SECTION.
PROPÓSITO: Tiene como finalidad describir las características del computador usado para compilar y ejecutar el programa, todo ello a nivel de comentarios
PÁRRAFOS
SOURCE-COMPUTER. Modelo de ordenador.
OBJECT-COMPUTER. Modelo de ordenador.
SPECIAL-NAMES.
[[Nombre de función IS nombre nemotécnico]
[CURRENCY SIGN IS literal]
[DECIMAL-POINT IS COMMA].]

INPUT-OUTPUT SECTION.
PROPÓSITO: Declarar los ficheros utilizados y la asignación a los dispositivos de E/S.
PÁRRAFOS
FILE-CONTROL
Nombre de función es un nombre reconocido por el compilador y nombre nemotécnico es un nombre creado por el programador. De esta forma podemos poner:
CONSOLE IS CONSOLA
SYSOUT IS ARCHI-PANTALLA

La función de CURRENCY SING es indicar que el sistema
tiene que utilizar un carácter monetario distinto del que tiene
por defecto ($). El carácter sustituto de éste, tiene que ser
uno solo y alfabético.

La función del DECIMAL-POINT IS COMMA es indicar que el
sistema tiene que sustituir la notación anglosajona por la
castellana en la función del punto decimal y la coma, en los
campos de edición.

DATA DIVISION
PROPÓSITO: En este apartado se definen los datos que van a ser utilizados, tales como ficheros, los registros de cada fichero etc. Cualquier dato utilizado en la codificación del programa debe de estar definido en esta DIVISION.
PÁRRAFOS
WORKING-STORAGE SECTION.
FILE SECTION.
PROCEDURE DIVISION
PROPÓSITO: Es en esta DIVISION donde se codifica el algoritmo propiamente dicho, esto es, donde se especifican las instrucciones adecuadas para resolver el problema.







HOJA DE CODIFICACION.







MARGEN A
Cabeceras de división: IDENTIFICATION DIVISION
Cabeceras de sección: CONFIGURATION SECTION
Cabeceras de párrafos: PROGRAM-ID.
Nombre de procedimientos: ABRIR-FICHEROS
Descripción de nivel FD: FD IMPRESO.
Los números de nivel: 01 y 77
MARGEN B
Todo aquello que no esté en los apartados anteriores.
Casi todas estas reglas son innecesarias hoy en día, con la simple elección de un editor adecuado y un estilo de programación racional y estructurado.




REGLAS DE CODIFICACIÓN
Los nombres de división, sección y párrafos deben escribirse solos en
una línea y finalizar con un punto.
Cada entrada y cada sentencia del programa debe finalizar con un punto.
Si a lo largo de una línea física no se encuentra un punto, la siguiente
línea será tomada como continuación de la anterior, esto es, cada
entrada y cada sentencia del programa puede ocupar varias líneas físicas.
Si una entrada o una sentencia del programa no cabe en una línea física, se continúa en la línea o líneas siguientes pero en el área B.
No es obligatorio llenar totalmente una línea física.
Se deben dejar líneas en blanco.
El punto, la coma y el punto y coma no deben ir precedidos de un espacio, pero sí seguidos de un espacio. La coma y el punto y coma son opcionales y cuando se utilizan es para hacer más clara la redacción del programa.
Si se utiliza más de un espacio como separador entre palabras, el
compilador lo interpreta como uno solo.




ESTRUCTURA GENERAL


IDENTIFICATION DIVISION.
PROGRAM-ID. nombre de programa.
[ AUTHOR. comentarios... ]
[ INSTALLATION. comentarios... ]
[ DATE-WRITTEN. comentarios... ]
[ DATE-COMPILED. comentarios... ]
[ SECURITY. comentarios... ]
[ REMARKS. comentarios... ]

ENVIRONMENT DIVISION. DATA DIVISION
[ CONFIGURATION SECTION. [ FILE SECTION.]
SOURCE-COMPUTER. modelo-ord. [ WORKING-STORAGE SECTION.]
OBJECT-COMPUTER. modelo-ord.
SPECIAL-NAMES. nombres especiales]

[ INPUT-OUTPUT SECTION. PROCEDURE DIVISION.
{ FILE CONTROL. control de archivos.} nombre-de-párrafo.
[ I-O CONTROL. control entrada/salida.]] {Sentencia}...}...
nombre-de-párrafo.
{Sentencia}...}…


COBOL - Elementos del lenguaje Cobol

COBOL - LENGUAJE ORIENTADO A SISTEMAS DE GESTIÓN


ELEMENTOS DEL LENGUAJE COBOL


LENGUAJE COBOL

Cobol, es un lenguaje de alto nivel (3ª generación) de tipo imperativo y
orientado a resolver problemas de gestión.

COBOL significa:
Common
Business
Oriented
Language

Lenguaje
Fue creado en 1.960, por la comisión CODASYL (Conference on Data System Lenguaje), formada por fabricantes, usuarios y gobierno USA, esta comisión
además han dado normas sobre Bases de Datos, Comunicaciones, etc..

Existen numerosas versiones, las mas importantes son, las del 60, 65, 74 y 85;
siendo los compiladores más utilizados los de:
• MICROFOCUS
• MICROSOFT
• RM/COBOL (McFarland)
• COBOL2 (IBM)



ELEMENTOS DEL LENGUAJE
Caracteres de Cobol
Caracteres numéricos. 0/9.
Caracteres alfabéticos. A/Z.
Caracteres especiales. $, blanco, +, .........
Caracteres empleados en puntuación
{ $, (, ), ,, ; }
Caracteres aritméticos.
{ +, -, *, **, /, =, (, ) }
Caracteres empleados en declaraciones condicionales.
{ <, >, = }
Constantes
Literales numéricos
- Literales de coma fija
- Literales de coma flotante.
[ +/-] mantisa E [ +/-] exponente
Literales no numéricos.
Constantes figurativas.
ZERO.
SPACE.
ALL ‘carácter’.
HIGH-VALUE .
LOW-VALUE.



Palabras Reservadas.
Identificadores predefinidos que tienen un significado especial en COBOL.
Por ejemplo: IDENTIFICATION, FILLER, ADD, COMPUTE, READ, REWRITE

Identificadores
Son los nombres creados por el programador.
Se forman por la combinación de los tres grupos de caracteres siguientes: dígitos (0/9), letras (A/Z) y el guión (-).
Están compuesto por una combinación de 30 caracteres como máximo.
No pueden comenzar ni finalizar con un guión.
Deberán comenzar por un carácter alfabético, excepto los nombres de párrafos.
No pueden tener el mismo nombre que una palabra reservada.

Operadores.
Los operadores son símbolos que indican cómo son manipulados los datos



Operadores Aritméticos

Operador
Significado
Ejemplo
+
Suma
A + B
-
Resta
A -B
*
Producto
A * B
/
División
A / B
**
Exponenciación
A ** B
=
Asignación
C = A + B
( )
Dar Prioridad
D = (A + B)*C


























Operadores de Relación

=
Igual que
A = B
<
Menor que
A < B
>
Mayor que
A > B
<=
Menor o igual que
A <= B
>=
Mayor o igual que
A <= B

Operadores Lógicos





















NOT
Negación
NOT ( A = B )
AND
Conjunción
A = B AND A > B
OR
Disyunción
A = B OR A < B


Expresiones Aritméticas
Una expresión aritmética puede ser una constante, una variable o un conjunto de constantes y variables unidas por operadores aritméticos.

El punto, punto y coma o coma no pueden ir precedidos por un espacio, pero si tienen que ir seguidos por un espacio.

Un paréntesis izquierdo no puede ir seguido por un espacio, un paréntesis derecho no puede ir precedido por un espacio.

Un operador aritmético o un signo igual tiene que ir precedido por un espacio y seguido por un espacio.


A la hora de evaluar una expresión:
Primero se evalúan las operaciones entre paréntesis, del más interno al más externo.
Después se evalúan los operadores con la prioridad siguiente:
+ y - unarios
**
*, /
+, -
Expresiones de Boole.
Una expresión de Boole da como resultado un valor VERDADERO o FALSO.

Los operadores que intervienen en una expresión de Boole pueden ser: operadores de relación y operadores lógicos.
A >= 30 AND B = C
A = 0 AND B * 2 NOT= 0 OR C = 0