Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Manual Cobol BASICO-ESPAÑOL.
Manual Cobol BASICO-ESPAÑOL.
SISTEMAS DE GESTIN
ELEMENTOS DEL
LENGUAJE COBOL
LENGUAJE COBOL
z Cobol, es un lenguaje de alto nivel (3 generacin) de tipo imperativo y
orientado a resolver problemas de gestin.
z COBOL significa:
Common
Business
Oriented
z Lenguaje
Fue creado en 1.960, por la comisin CODASYL (Conference on Data System
Lenguaje), formada por fabricantes, usuarios y gobierno USA, esta comisin
adems 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 ms utilizados los de:
MICROFOCUS
MICROSOFT
RM/COBOL (McFarland)
COBOL2 (IBM)
LENGUAJE COBOL 2
1
ELEMENTOS DEL LENGUAJE
z Caracteres de Cobol
Caracteres numricos. 0/9.
Caracteres alfabticos. A/Z.
Caracteres especiales. $, blanco, +, .........
Caracteres empleados en puntuacin
{ $, (, ), ,, ; }
Caracteres aritmticos.
{ +, -, *, **, /, =, (, ) }
Caracteres empleados en declaraciones
condicionales.
{ <, >, = }
LENGUAJE COBOL 3
LENGUAJE COBOL 4
2
ELEMENTOS DEL LENGUAJE
z Palabras Reservadas.
Identificadores predefinidos que tienen un significado especial en
COBOL.
Por ejemplo: IDENTIFICATION, FILLER, ADD, COMPUTE, READ,
REWRITE
z Identificadores
Son los nombres creados por el programador.
Se forman por la combinacin de los tres grupos de caracteres
siguientes: dgitos (0/9), letras (A/Z) y el guin (-).
Estan compuesto por una combinacin de 30 caracteres como
mximo.
No pueden comenzar ni finalizar con un guin.
Debern comenzar por un carcter alfabtico, excepto los
nombres de prrafos.
No pueden tener el mismo nombre que una palabra reservada.
LENGUAJE COBOL 5
LENGUAJE COBOL 6
3
ELEMENTOS DEL LENGUAJE
Operadores de Relacin
Operadores Lgicos
OR Disyuncin A = B OR A < B
LENGUAJE COBOL 7
LENGUAJE COBOL 8
4
ELEMENTOS DEL LENGUAJE
z Expresiones Aritmticas.
A la hora de evaluar una expresin
Primero se evalan las operaciones entre
parntesis, del ms interno al ms externo.
Despus se evalan los operadores con la
prioridad siguiente:
+ y - unarios
**
*, /
+,-
LENGUAJE COBOL 9
LENGUAJE COBOL 10
5
LENGUAJE ORIENTADO A
SISTEMAS DE GESTIN
ESTRUCTURA DE UN
PROGRAMA EN COBOL
DIVISIONES, SECCIONES Y
PRRAFOS
z IDENTIFICATION DIVISION.
z [ENVIRONMENT DIVISION.]
z [DATA DIVISION.]
z PROCEDURE DIVISION.
LENGUAJE COBOL 12
6
DIVISIONES, SECCIONES Y
PRRAFOS
IDENTIFICATION DIVISION. divisin
PROGRAM-ID. EJEMPLO.
AUTHOR. EUI. prrafo
DATE-WRITTEN. 01-ENERO-93.
DATE-COMPILED. 01-ENERO-93.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION. seccin
SOURCE-COMPUTER. IBM PERSONAL COMPUTER.
OBJECT-COMPUTER. IBM PERSONAL COMPUTER.
SPECIAL-NAMES. prrafo
DECIMAL-POINT IS COMMA. clusula
INPUT-OUTPUT SECTION. seccin
FILE-CONTROL. prrafo
SELECT IMPRESORA ASSING TO PRINTER.
clusulas
LENGUAJE COBOL 13
DIVISIONES EN COBOL
z IDENTIFICATION DIVISION
PROPSITO: Identificar el programa de forma que se distinga de
los otros, adems de proporcionar el nombre del autor, cuando se
escribi etc.
PRRAFOS
PROGRAM-ID.
AUTHOR.
INSTALLATION.
DATE-WRITTEN.
DATE-COMPILED.
SECURITY.
REMARKS.
LENGUAJE COBOL 14
7
DIVISIONES EN COBOL
z ENVIRONMENT DIVISION
PROPSITO: En esta divisin se describe el
entorno fsico en el cual se va a desarrollar el
programa. Entendindose por entorno, la clase de
sistema que se va a utilizar as como los dispositivos
de entrada/salida.
SECCIONES
CONFIGURATION SECTION.
INPUT-OUPUT SECTION.
LENGUAJE COBOL 15
DIVISIONES EN COBOL
z CONFIGURATION SECTION.
PROPSITO: Tiene como finalidad describir las caractersticas del
computador usado para compilar y ejecutar el programa, todo ello a
nivel de comentarios
PRRAFOS
SOURCE-COMPUTER. Modelo de ordenador.
OBJECT-COMPUTER. Modelo de ordenador.
SPECIAL-NAMES.
[[Nombre de funcin IS nombre nemotcnico]
[CURRENCY SIGN IS literal]
[DECIMAL-POINT IS COMMA].]
z INPUT-OUTPUT SECTION.
PROPSITO: Declarar los ficheros utilizados y la asignacin a los
dispositivos de E/S.
PRRAFOS
FILE-CONTROL
LENGUAJE COBOL 16
8
DIVISIONES EN COBOL
z Nombre de funcin es un nombre reconocido por el
compilador y nombre nemotcnico es un nombre creado por
el programador. De esta forma podemos poner:
CONSOLE IS CONSOLA
SYSOUT IS ARCHI-PANTALLA
z La funcin de CURRENCY SING es indicar que el sistema
tiene que utilizar un carcter monetario distinto del que tiene
por defecto ($). El carcter sustituto de ste, tiene que ser
uno solo y alfabtico.
z La funcin del DECIMAL-POINT IS COMMA es indicar que el
sistema tiene que sustituir la notacin anglosajona por la
castellana en la funcin del punto decimal y la coma, en los
campos de edicin.
LENGUAJE COBOL 17
DIVISIONES EN COBOL
z DATA DIVISION
PROPSITO: 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
codificacin del programa debe estar definido en esta
divisin.
PRRAFOS
WORKING-STORAGE SECTION.
FILE SECTION.
z PROCEDURE DIVISION
PROPSITO: Es en esta divisin donde se codifica el
algoritmo propiamente dicho, esto es, donde se
especifican las instrucciones adecuadas para resolver el
problema.
LENGUAJE COBOL 18
9
HOJA DE CODIFICACIN
123456 7 8 A 11 12 A 72 73 A 80
Se utilizaban para
indicar los nmeros de
secuencia, permitiendo MARGEN A MARGEN B
ordenar fcilmente el Son opcionales, se utilizan normalmente
programa para escribir comentarios que identifican
el programa.
LENGUAJE COBOL 19
HOJA DE CODIFICACIN
z Margen A
Cabeceras de divisin: IDENTIFICATION DIVISION...
Cabeceras de seccin : CONFIGURATION SECTION...
Cabeceras de prrafos: PROGRAM-ID...
Nombre de procedimientos: ABRIR-FICHEROS...
Descripciones de nivel FD: FD IMPRESO..
Los nmeros de nivel 01 y 77
z Margen B
Todo aquello que no est en los apartados anteriores.
z Casi todas estas reglas son innecesarias hoy en da, con la
simple eleccin de un editor adecuado y un estilo de
programacin racional y estructurado.
LENGUAJE COBOL 20
10
REGLAS DE CODIFICACIN
z Los nombres de divisin, seccin y prrafos deben escribirse solos en
una lnea y finalizar con un punto.
z Cada entrada y cada sentencia del programa debe finalizar con un
punto.
z Si a lo largo de una lnea fsica no se encuentra un punto, la siguiente
lnea ser tomada como continuacin de la anterior, esto es, cada
entrada y cada sentencia del programa puede ocupar varias lneas
fsicas.
z Si una entrada o una sentencia del programa no cabe en una lnea
fsica, se contina en la lnea o lneas siguientes pero en el rea B.
z No es obligatorio llenar totalmente una lnea fsica.
z Se deben dejar lneas en blanco.
z 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 ms clara la
redaccin del programa.
z Si se utiliza ms de un espacio como separador entre palabras, el
compilador lo interpreta como uno solo.
LENGUAJE COBOL 21
ESTRUCTURA GENERAL
IDENTIFICATION DIVISION.
PROGRAM-ID. nombre de programa.
[ AUTHOR. comentarios... ] DATA DIVISION
[ INSTALLATION. comentarios... ] [ FILE SECTION.]
[ DATE-WRITTEN. comentarios... ] [ WORKING-STORAGE SECTION.]
[ DATE-COMPILED. comentarios... ]
[ SECURITY. comentarios... ] PROCEDURE DIVISION.
[ REMARKS. comentarios... ] nombre-de-prrafo.
{Sentencia}...}...
ENVIRONMENT DIVISION. nombre-de-prrafo.
[ CONFIGURATION SECTION. {Sentencia}...}...
SOURCE-COMPUTER. modelo-ord.
OBJECT-COMPUTER. modelo-ord.
SPECIAL-NAMES. nombres especiales]
[ INPUT-OUTPUT SECTION.
{ FILE CONTROL. control de archivos.}
[ I-O CONTROL. control entrada/salida.]]
LENGUAJE COBOL 22
11
LENGUAJE ORIENTADO A
SISTEMAS DE GESTIN
ESTRUCTURA DE UN
PROGRAMA EN COBOL
DIVISIONES, SECCIONES Y
PRRAFOS
z IDENTIFICATION DIVISION.
z [ENVIRONMENT DIVISION.]
z [DATA DIVISION.]
z PROCEDURE DIVISION.
LENGUAJE COBOL 24
12
DIVISIONES, SECCIONES Y
PRRAFOS
IDENTIFICATION DIVISION. divisin
PROGRAM-ID. EJEMPLO.
AUTHOR. EUI. prrafo
DATE-WRITTEN. 01-ENERO-93.
DATE-COMPILED. 01-ENERO-93.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION. seccin
SOURCE-COMPUTER. IBM PERSONAL COMPUTER.
OBJECT-COMPUTER. IBM PERSONAL COMPUTER.
SPECIAL-NAMES. prrafo
DECIMAL-POINT IS COMMA. clusula
INPUT-OUTPUT SECTION. seccin
FILE-CONTROL. prrafo
SELECT IMPRESORA ASSING TO PRINTER.
clusulas
LENGUAJE COBOL 25
DIVISIONES EN COBOL
z IDENTIFICATION DIVISION
PROPSITO: Identificar el programa de forma que se distinga de
los otros, adems de proporcionar el nombre del autor, cuando se
escribi etc.
PRRAFOS
PROGRAM-ID.
AUTHOR.
INSTALLATION.
DATE-WRITTEN.
DATE-COMPILED.
SECURITY.
REMARKS.
LENGUAJE COBOL 26
13
DIVISIONES EN COBOL
z ENVIRONMENT DIVISION
PROPSITO: En esta divisin se describe el
entorno fsico en el cual se va a desarrollar el
programa. Entendindose por entorno, la clase de
sistema que se va a utilizar as como los dispositivos
de entrada/salida.
SECCIONES
CONFIGURATION SECTION.
INPUT-OUPUT SECTION.
LENGUAJE COBOL 27
DIVISIONES EN COBOL
z CONFIGURATION SECTION.
PROPSITO: Tiene como finalidad describir las caractersticas del
computador usado para compilar y ejecutar el programa, todo ello a
nivel de comentarios
PRRAFOS
SOURCE-COMPUTER. Modelo de ordenador.
OBJECT-COMPUTER. Modelo de ordenador.
SPECIAL-NAMES.
[[Nombre de funcin IS nombre nemotcnico]
[CURRENCY SIGN IS literal]
[DECIMAL-POINT IS COMMA].]
z INPUT-OUTPUT SECTION.
PROPSITO: Declarar los ficheros utilizados y la asignacin a los
dispositivos de E/S.
PRRAFOS
FILE-CONTROL
LENGUAJE COBOL 28
14
DIVISIONES EN COBOL
z Nombre de funcin es un nombre reconocido por el
compilador y nombre nemotcnico es un nombre creado por
el programador. De esta forma podemos poner:
CONSOLE IS CONSOLA
SYSOUT IS ARCHI-PANTALLA
z La funcin de CURRENCY SING es indicar que el sistema
tiene que utilizar un carcter monetario distinto del que tiene
por defecto ($). El carcter sustituto de ste, tiene que ser
uno solo y alfabtico.
z La funcin del DECIMAL-POINT IS COMMA es indicar que el
sistema tiene que sustituir la notacin anglosajona por la
castellana en la funcin del punto decimal y la coma, en los
campos de edicin.
LENGUAJE COBOL 29
DIVISIONES EN COBOL
z DATA DIVISION
PROPSITO: 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
codificacin del programa debe estar definido en esta
divisin.
PRRAFOS
WORKING-STORAGE SECTION.
FILE SECTION.
z PROCEDURE DIVISION
PROPSITO: Es en esta divisin donde se codifica el
algoritmo propiamente dicho, esto es, donde se
especifican las instrucciones adecuadas para resolver el
problema.
LENGUAJE COBOL 30
15
HOJA DE CODIFICACIN
123456 7 8 A 11 12 A 72 73 A 80
Se utilizaban para
indicar los nmeros de
secuencia, permitiendo MARGEN A MARGEN B
ordenar fcilmente el Son opcionales, se utilizan normalmente
programa para escribir comentarios que identifican
el programa.
LENGUAJE COBOL 31
HOJA DE CODIFICACIN
z Margen A
Cabeceras de divisin: IDENTIFICATION DIVISION...
Cabeceras de seccin : CONFIGURATION SECTION...
Cabeceras de prrafos: PROGRAM-ID...
Nombre de procedimientos: ABRIR-FICHEROS...
Descripciones de nivel FD: FD IMPRESO..
Los nmeros de nivel 01 y 77
z Margen B
Todo aquello que no est en los apartados anteriores.
z Casi todas estas reglas son innecesarias hoy en da, con la
simple eleccin de un editor adecuado y un estilo de
programacin racional y estructurado.
LENGUAJE COBOL 32
16
REGLAS DE CODIFICACIN
z Los nombres de divisin, seccin y prrafos deben escribirse solos en
una lnea y finalizar con un punto.
z Cada entrada y cada sentencia del programa debe finalizar con un
punto.
z Si a lo largo de una lnea fsica no se encuentra un punto, la siguiente
lnea ser tomada como continuacin de la anterior, esto es, cada
entrada y cada sentencia del programa puede ocupar varias lneas
fsicas.
z Si una entrada o una sentencia del programa no cabe en una lnea
fsica, se contina en la lnea o lneas siguientes pero en el rea B.
z No es obligatorio llenar totalmente una lnea fsica.
z Se deben dejar lneas en blanco.
z 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 ms clara la
redaccin del programa.
z Si se utiliza ms de un espacio como separador entre palabras, el
compilador lo interpreta como uno solo.
LENGUAJE COBOL 33
ESTRUCTURA GENERAL
IDENTIFICATION DIVISION.
PROGRAM-ID. nombre de programa.
[ AUTHOR. comentarios... ] DATA DIVISION
[ INSTALLATION. comentarios... ] [ FILE SECTION.]
[ DATE-WRITTEN. comentarios... ] [ WORKING-STORAGE SECTION.]
[ DATE-COMPILED. comentarios... ]
[ SECURITY. comentarios... ] PROCEDURE DIVISION.
[ REMARKS. comentarios... ] nombre-de-prrafo.
{Sentencia}...}...
ENVIRONMENT DIVISION. nombre-de-prrafo.
[ CONFIGURATION SECTION. {Sentencia}...}...
SOURCE-COMPUTER. modelo-ord.
OBJECT-COMPUTER. modelo-ord.
SPECIAL-NAMES. nombres especiales]
[ INPUT-OUTPUT SECTION.
{ FILE CONTROL. control de archivos.}
[ I-O CONTROL. control entrada/salida.]]
LENGUAJE COBOL 34
17
LENGUAJE ORIENTADO A
SISTEMAS DE GESTIN
LOS DATOS
DATA DIVISION
z FUNCIN
Se describen los datos que van a ser usados, creados, o
producidos por el programa.
Se describe la estructura de los ficheros que se van a
utilizar, as como las variables utilizadas en el programa y
que no son parte de los ficheros.
z FORMATO
DATA DIVISION.
[FILE SECTION.
{ Entrada de descripcin de ficheros....}
{ Entrada de descripcin de registros...}]
[WORKING-STORAGE SECTION.
[ Entrada de descripcin de variables o registros ]]
LENGUAJE COBOL 36
18
TIPOS DE DATOS
z Una de las caractersticas tpicas de
los datos que se usan en las
aplicaciones de gestin es la variedad
de formas y estructuras.
z Los datos se clasifican en:
Campos Independientes
Campos Compuestos
Tablas
LENGUAJE COBOL 37
CAMPOS INDEPENDIENTES
z Es un campo de trabajo que ser definido en la seccin de
working. No forman parte de la descripcin de los ficheros.
z Formato mnimo para su definicin:
nmero-de-nivel nombre-de-dato
PICTURE especificacin de formato.
z Donde:
Nmero-de-nivel. Se utiliza el nivel 77.
Nombre-de-datos. Un nombre de datos sirve para nombrar un campo
con el fin de poder referenciar en el programa, el contenido del
mismo.
PICTURE. Determina la informacin que puede almacenarse en el
campo, as como las operaciones que con l pueden realizarse.
Permite definir el tipo y el tamao del campo.
LENGUAJE COBOL 38
19
CLUSULA PICTURE
LENGUAJE COBOL 39
CLUSULA PICTURE
Descripcin Valor Numrico Representacin INTERNA
LENGUAJE COBOL 40
20
CLUSULA PICTURE
Carcter Descripcin Ejemplos
A Cualquier carcter letra 1. PIC AAAAA
2. PIC A(5)
X Cualquier carcter 1. PIC XXXXX
2. PIC X(5)
LENGUAJE COBOL 41
CLUSULA PICTURE
Carcter Descripcin
LENGUAJE COBOL 42
21
CLUSULA PICTURE
Carcter Descripcin
LENGUAJE COBOL 43
CLUSULA PICTURE
PICTURE CONTENIDO PICTURE Resultado
EDICIN Editado
9(4)V99 654321 9(4).99 6543.21
9(4)V99 054321 9(4).99 0543.21
9(3)V999 000546 999.99 000.54
9V99 567 99V.99 NO VALIDO
99 54 99.99 54.00
9999V99 500000 999.99 000.00
LENGUAJE COBOL 44
22
CLUSULA PICTURE
LENGUAJE COBOL 45
CLUSULA PICTURE
LENGUAJE COBOL 46
23
CLUSULA PICTURE
PICTURE CONTENIDO PICTURE Resultado
EDICIN Editado
LENGUAJE COBOL 47
CLUSULA PICTURE
PICTURE CONTENIDO PICTURE Resultado
EDICIN Editado
LENGUAJE COBOL 48
24
CLUSULA PICTURE
PICTURE CONTENIDO PICTURE Resultado
EDICIN Editado
S999 -123 +999 -123
S999 +628 -999 628
S999 +456 999+ 456+
S9(3)V99 -12345 999.99DB 123.45DB
S999V99 -18200 $999.99CR $182.00CR
S9(3)V99 +15768 999.99DB 157.68bb
S9(3)V99 -65125 +$999.99 -$651.25
S9(3)V99 +57950 +$999.99 +$579.50
LENGUAJE COBOL 49
CLUSULA PICTURE
PICTURE CONTENIDO PICTURE Resultado
EDICIN Editado
LENGUAJE COBOL 50
25
CLUSULA PICTURE
LENGUAJE COBOL 51
CLUSULA VALUE
z La inicializacin de los campos independientes se debe
realizar a travs de la clusula VALUE, cuando se
estn definiendo.
z Formato
VALUE IS literal/constante figurativa
WORKING-STORAGE SECTION.
77 VARIABLE PIC X(20) VALUE Listado Empleados.
77 VARIABLE PIC 99 VALUE 10.
77 VARIABLE PIC V99 VALUE 0.03.
77 VARIABLE PIC 9(8) VALUE ZEROS.
77 VARIABLE PIC X(10) VALUE SPACES.
77 VARIABLE PIC X(9) VALUE --------- .
77 VARIABLE PIC X(9) VALUE ALL -.
77 CERO PIC 99999 VALUE ZEROS.
77 CERO PIC 99999 VALUE 0.
LENGUAJE COBOL 52
26
JUSTIFIED RIGHT
z Se utiliza nicamente con variables de tipo
alfabtico o alfanumrico y su efecto es
eliminar la convencin de justificacin a la
izquierda de los datos no numricos.
A B
LENGUAJE COBOL 53
CAMPOS COMPUESTOS
z Son campos que pueden subdividirse.
z Se le conoce tambin con el nombre de registros.
z Pueden definirse en el rea de trabajo (WORKING
-
STORAGE SECTION) y es obligada su utilizacin al
describir la estructura de los ficheros.
LENGUAJE COBOL 54
27
CAMPOS COMPUESTOS
NUMERO DE NIVEL
01 VENDEDOR. ESPECIFICACIN
DE FORMATO
02 NUMERO PIC 999.
02 DATOS-VENDEDOR.
02 DATOS-DIRECCION.
03 PROVINCIA PIC X(30).
03 CALLE PIC X(15).
03 NCALLE PIC 99.
02 FECHA-ALTA.
03 DA NOMBRE PIC 99.
DE DATO
03 MES PIC 99.
03 ANIO PIC 99.
LENGUAJE COBOL 55
CAMPOS COMPUESTOS
z Los nombre de datos sirven para nombrar un campo
con el fin de poder referenciar en el programa, el
contenido del mismo.
z Si la informacin no se va a referenciar, el nombre de
datos puede sustituirse por la palabra reservada
FILLER.
z Los nmeros de Nivel sirven para indicar la relacin
existente entre un campo y el resto de los campos.
z Los nmeros de nivel que pueden utilizarse son: del 01
al 49.
[01] Slo precede al nombre del registro.
[02 a 49] Preceden a cualquier campo grupo o elemental.
LENGUAJE COBOL 56
28
CAMPOS COMPUESTOS
z Un campo grupo tiene un nivel superior que cualquiera de sus
campos elementales.
z Los nmeros de nivel utilizados no tiene porque ser correlativos.
z Cualquier nombre de datos debe ir precedido por su nmero de
nivel.
z El nmero de nivel 01 deber escribirse en el margen A, mientras
que su nombre asociado lo ser en el margen B.
z Cualquiera de los restantes nmeros de nivel dentro del campo
compuesto pueden situarse en cualquier columna.
z Se aconseja un escalonado progresivo de los niveles para una
mejor interpretacin
z El tipo del campo determina la informacin que puede almacenarse
en el campo, as como las operaciones que con l pueden
realizarse. Se hace a travs de la clusula PICTURE.
z La longitud del campo viene dada por el nmero de caracteres
empleados en la especificacin del formato para declarar el campo.
LENGUAJE COBOL 57
CAMPOS COMPUESTOS
z Calificacin de los nombres de datos.
En la declaracin de campos compuestos, dos campos
elementales pueden tener el mismo nombre de datos.
01 DATOS.
02 TOTALES-SEMANALES.
03 HORAS PIC 99V99.
03 DEPTO-NO PIC 9(5).
02 TOTALES-MENSUALES.
03 HORAS PIC 99V99.
03 MAS-INFORMACION PIC 9(5).
LENGUAJE COBOL 58
29
CAMPOS COMPUESTOS
01 REG-VIEJO.
02 A-LA-FECHA.
03 MES....
03 ANUAL....
02 ULTIMO-PERIODO.
03 MES.... MES OF ULTIMO-PERIODO OF REG-VIEJO
03 ANUAL....
03 TOTAL.... TOTAL OF REG-NUEVO
01 REG-NUEVO.
02 A-LA-FECHA.
03 MES....
03 ANUAL....
02 ULTIMO-PERIODO.
03 MES....
03 ANUAL....
03 TOTAL....
LENGUAJE COBOL 59
NOMBRES DE CONDICIN
z Permite al programador definir constantes figurativas
adicionales para usarlas en el programa COBOL
LENGUAJE COBOL 60
30
NOMBRES DE CONDICIN
01 DATOS-PERSONALES.
02 NUMERO-ID...
02 NOMBRE......
02 DIRECCION....
02 EDUCACION PICTURE 99.
88 NO-BACHILLER VALUES ARE 0 THRU 11.
88 BACHILLER VALUE IS 12.
88 ALGO-UNIVERSIDAD VALUES ARE 13 THRU 15.
88 PROFESIONAL VALUE IS 16.
88 POSTGRADO VALUES ARE 17 THRU 20.
88 CODIGO-ERROR VALUES ARE 21 THRU 99.
IF BACHILLER ....
IF ALGO-UNIVERSIDAD OR PROFESIONAL
IF EDUCACION < 16
LENGUAJE COBOL 61
RENAMES
z La clusula RENAMES provee al programador la capacidad de reagrupar los items de
datos elementales.
01 REG-IMPUESTO.
02 NO-SEG-SOCIAL PIC X(9).
02 NOMBRE-COMPLETO.
03 NOMBRE PIC X(10).
03 INICIAL PIC XX.
03 APELLIDO PIC X(15).
02 TOTAL-A-LA-FECHA.
03 PAGO-BRUTO PIC 9(8)V99.
03 PAGO-NETO PIC 9(8)V99.
03 IMPUESTO-TRIBUTADO PIC 9(6)V99.
03 IMPUESTO-ESTADO PIC 9(4)V99.
66 ULTIMO-PAGO RENAMES APELLIDO THRU PAGO-NETO.
NOMBRE-COMPLETO TOTAL-A-LA-FECHA
LENGUAJE COBOL 62
31
TABLAS
z Una tabla es un conjunto de valores almacenados en
posiciones consecutivas de memoria y con un nombre
de datos asignado.
z La referencia a entradas especficas de la tabla se
hace mediante un slo nombre junto con un subndice
que indica la posicin de entrada particular.
WORKING-STORAGE SECTION.
01 Nombre-de-tabla.
02 Nombre-de-elemento OCCURS nmero-de-elementos TIMES
PICTURE tipo-de-elemento.
LENGUAJE COBOL 63
TABLAS
01TABLA
- INGRESOS - ESTADO.
02 INGRESOS- PROMEDIOS
OCCURS 50 TIMES PIC 9(6)V99.
z INGRESOS- PROMEDIOS (ndice) donde ndice es
mayor o igual que 1 y menor o igual que 50.
TABLA-INGRESOS-ESTADO
INGRESOS-PROMEDIO(1) INGRESOS-PROMEDIO(50)
LENGUAJE COBOL 64
32
TABLAS
01 TABLA-INGRESOS-ESTADO.
02 INGRESOS-PROMEDIOS OCCURS 50 TIMES PIC 9(6)V99.
02 PROMEDIO-NACIONAL PIC 9(7)V99.
TABLA-INGRESOS-ESTADO
INGRESOS-PROMEDIOS PROMEDIO-NACIONAL
LENGUAJE COBOL 65
TABLAS
01TABLA
- INGRESOS - ESTADO.
02 NOMBRE - INGRESO OCCURS 50 TIMES.
03 NOMBRE PIC X(4).
03 INGRESO PIC 9(6)V99.
TABLA-INGRESOS-ESTADO
NOMBRE-INGRESO (1) --- NOMBRE-INGRESO (50)
NOMBRE(1) INGRESO(1) NOMBRE(50) INGRESO (50)
LENGUAJE COBOL 66
33
TABLAS
z La clusula OCCURS no puede aplicarse a nivel 01.
z La clusula OCCURS no puede aplicarse a nivel 77.
z La dimensin de una tabla debe ser menor o igual que
7, aunque depende del compilador.
z La clusula PICTURE se aplica slo a campos
elementales.
z Los subndices pueden ser constantes o variables de
tipo entero. Sus valores deben ser positivos.
z El subndice o subndices se encierran en un conjunto
de parntesis y se separan del nombre de la tabla por
un espacio. Los subndices mltiples se separan uno
de otros por comas y espacios.
LENGUAJE COBOL 67
TABLAS
z Inicializacin de una tabla en tiempo de
compilacin.
nombre-de-dato-1 REDEFINES nombre-de-dato-2
01 FECHA.
02 DA PIC 99.
02 MES PIC 99.
02 AO PIC 99.
01 FECHA-ACTUAL REDEFINES FECHA PIC X(6).
LENGUAJE COBOL 68
34
TABLAS
01 TABLA-S.
02 FILLER PIC X(10) VALUE "LUNES".
02 FILLER PIC X(10) VALUE "MARTES".
02 FILLER PIC X(10) VALUE "MIRCOLES".
02 FILLER PIC X(10) VALUE "JUEVES".
02 FILLER PIC X(10) VALUE "VIERNES".
02 FILLER PIC X(10) VALUE "SBADO".
02 FILLER PIC X(10) VALUE "DOMINGO".
01 TABLA-DIA-S REDEFINES TABLA-S.
02 DIA-SEMANA OCCURS 7 TIMES PIC X(10).
LENGUAJE COBOL 69
LENGUAJE ORIENTADO A
SISTEMAS DE GESTIN
VERBOS ARITMTICOS
35
INTRODUCCIN
z Los verbos aritmticos permiten realizar las
tpicas operaciones de suma, resta, producto y
divisin, adems podremos almacenar el resto
de una divisin y realizar conjuntamente todas
estas operaciones en una sola sentencia.
z Verbos Aritmticos.
Suma ADD
Resta SUBSTRACT
Producto MULTIPLY
Divisin DIVIDE
O. Aritmticas COMPUTE
LENGUAJE COBOL 71
SUMA
LENGUAJE COBOL 72
36
SUMA. OPCIONES
z Opcin ROUNDED
Si en una suma (o cualquier otra operacin) el nmero
de decimales del resultado es mayor que el nmero
de ellos especificados en el campo receptor, trunca el
nmero sobrante de dgitos por la derecha.
LENGUAJE COBOL 73
SUMA. OPCIONES
z Opcin ON SIZE ERROR
Si la parte entera de un clculo no cupiera en el
campo receptor, se producira un desbordamiento.
La utilizacin de esta clusula permite al
programador especificar una serie de instrucciones
que solo se ejecutaran cuando se produzca dicho
desbordamiento.
LENGUAJE COBOL 74
37
SUMA. EJEMPLOS
ADD IDA IDB TO IDC ANTES DESPUS
77 IDA PIC 9(3) 010 010
77 IDB PIC 999 020 020
77 IDC PIC S99 -10 +20
LENGUAJE COBOL 75
SUMA. EJEMPLOS
ADD IDA IDB GIVING IDC ANTES DESPUS
77 IDA PIC S9(2) -10 -10
77 IDB PIC S9(3) +020 +020
77 IDC PIC S9(4) +0030 +0010
LENGUAJE COBOL 76
38
SUMA. EJEMPLOS
ADD IDA IDB GIVING IDC ANTES DESPUS
77 IDA PIC 9(5) 21987 21987
77 IDB PIC 9(4) 4593 4593
77 IDC PIC 99 52 ---80 Se han perdido
dgitos (26580)
LENGUAJE COBOL 77
RESTA
z La sentencia SUBTRACT se utiliza para restar uno o ms
items de datos numricos de otro u otros items de datos
numricos, sustituyendo el valor de la diferencia en el
ltimo items de la declaracin.
SUBTRACT ident-1/literal-1....FROM
ident-2/literal-2 GIVING ident-3
LENGUAJE COBOL 78
39
RESTA. EJEMPLOS
SUBTRACT IDA FROM IDB ANTES DESPUS
77 IDA PIC 99 10 10
77 IDB PIC 999 042 032
77 IDA PIC 99 10 10
77 IDB PIC 999 027 027
77 IDC PIC 99 52 11
77 IDD PIC 99 47 06
LENGUAJE COBOL 79
RESTA. EJEMPLOS
SUBTRACT CANTIDAD-1, CANTIDAD-2, CANTIDAD-FROM
CANTIDAD-4 GIVING CANTIDAD-5,
CANTIDAD-6 ROUNDED
ON SIZE ERROR PERFORM DESBORDAMIENTO.
LENGUAJE COBOL 80
40
RESTA. EJEMPLOS
SUBTRACT IDA FROM IDB ANTES DESPUS
GIVING IDC
77 IDA PIC 99 10 10
77 IDB PIC 999 032 032
77 IDC PIC 99 41 22
LENGUAJE COBOL 81
MULTIPLICACIN
LENGUAJE COBOL 82
41
MULTIPLICACIN
LENGUAJE COBOL 83
DIVISIN
LENGUAJE COBOL 84
42
DIVISIN
LENGUAJE COBOL 85
DIVISIN. EJEMPLOS
DIVIDE IDB INTO IDA ANTES DESPUS
77 IDA PIC 9(5) 50000 01000
77 IDB PIC 99 50 50
DIVIDE IDA BY 365 GIVING IDB ANTES DESPUS
77 IDA PIC 9(5) 36500 36500
77 IDB PIC 9999 1000
LENGUAJE COBOL 86
43
DIVISIN. EJEMPLOS
DIVIDE DIVIDENDO ANTES DESPUS
BY DIVISOR
GIVING COCIENTE
REMAINDER RESTO
LENGUAJE COBOL 87
COMPUTE
COMPUTE ident-1
[ROUNDED] = expresin-aritmtica
[ON SIZE ERROR sentencia-1]
LENGUAJE COBOL 88
44
COMPUTE
SMBOLO OPERACIN PRIORIDAD
REPRESENTADA
+ Suma MENOR
- Resta
* Producto
/ Cociente
** Exponenciacin MAYOR
LENGUAJE COBOL 89
COMPUTE
COMPUTE A = B ** C.
No tiene sentencia
COMPUTE A = B + C. equivalente.
ADD B, C GIVING A.
COMPUTE A = B / C.
COMPUTE A = B - C. DIVIDE B BY C GIVING A.
SUBTRACT C FROM B GIVING A.
COMPUTE A = -B.
COMPUTE A = B * C. SUBTRACT B FROM
MULTIPLY B BY C GIVING A. ZERO GIVING A,
MULTIPLY -1 BY B
GIVING A
LENGUAJE COBOL 90
45
LENGUAJE ORIENTADO A
SISTEMAS DE GESTIN
VERBOS ENTRADA
SALIDA
INTRODUCCIN
z La funcin es poner en comunicacin el
programa con los dispositivos externos
donde se encuentran o se encontrarn
los datos.
z Sentencias:
Display
Accept
LENGUAJE COBOL 92
46
DISPLAY
z Mediante esta declaracin se proporciona
informacin o mensajes a la consola,
impresora u otro dispositivo de salida.
LENGUAJE COBOL 93
DISPLAY. OPCIONES
z BEEP: Emite un sonido cada vez que display es
ejecutado.
z BLINK: Hace parpadear el elemento visualizado.
z CONVERT: Esta opcin se aplica a campos numricos o
numricos editados. El valor a visualizar es convertido de
su formato interno a los dgitos correspondiente,
eliminando los ceros no significativos. El valor se ajusta a
la izquierda, y el espacio sobrante a la derecha se rellena
con blancos.
z ERASE[EOL/EOS]: ERASE borra pantalla. ERASE EOL
borra desde la posicin del cursor hasta el final de la
lnea. ERASE EOS borra desde la posicin del cursor
hasta el final de la pantalla.
LENGUAJE COBOL 94
47
DISPLAY. OPCIONES
LENGUAJE COBOL 95
ACCEPT
z Esta declaracin permite introducir pequeos volmenes
de datos, necesarios para el programa, desde la consola
u otro dispositivo de entrada.
ACCEPT identificador-1
[LINE identificador-2/entero-2]
[POSITION identificador-3/entero-3] [opciones]
....
LENGUAJE COBOL 96
48
ACCEPT. OPCIONES
z BEEP.
z BLINK.
z CONVERT.
z ECHO: Hace que el dato aceptado sea visualizado sobre el
campo de pantalla una vez finalizada la entrada.
z ERASE[EOL/EOS].
z HIGH.
z LOW.
z PROMPT [literal]: Marca la pantalla con el carcter
especificado las posiciones vacas mientras se ejecuta una
operacin ACCEPT. Por defecto es el carcter subrayado.
LENGUAJE COBOL 97
ACCEPT. OPCIONES
z REVERSE.
z SIZE.
z TAB: Obliga a pulsar la tecla Enter.
z UPDATE: Permite visualizar el contenido del campo
antes de efectuar la entrada. Esto permite modificar
el contenido del correspondiente campo. Esta
clusula implica tambin conversin de los datos de
entrada.
z UNDERLINE.
z UPPER: Convierte la entrada a maysculas.
LENGUAJE COBOL 98
49
LENGUAJE ORIENTADO A
SISTEMAS DE GESTIN
VERBOS
TRANSFERENCIA DE
DATOS
GENERALIDADES
z campo emisor = contiene la informacin a transferir
z campo receptor = recibe dicha informacin.
z Los datos se pueden transferir a un campo receptor de
varias formas:
El efecto de usar la opcin GIVING con verbos
aritmticos.
El verbo COMPUTE por si mismo incluye una
transferencia de datos al almacenar los resultados en un
campo especfico.
Las opciones READ .... INTO y WRITE.... FROM incluye
transferencia de informacin implcitas.
La clusula VALUE de la DATA DIVISION incluye una
transferencia de informacin implcita, aunque slo se
ejecutar una vez al principio del programa.
50
VERBO MOVE
z Transfiere informacin de una zona a otra de memoria,
este verbo modifica el contenido del campo receptor por
el contenido del campo emisor, permaneciendo
inalterado ste ltimo campo.
VERBO MOVE
51
TIPOS DE MOVIMIENTOS
CAMPO RECEPTOR
Alfabtico SI SI NO
Alfanumrico SI SI NO
Alfanumrico editado SI SI NO
Numrico Entero NO SI SI
Numrico No Entero NO NO SI
Numrico Editado NO SI SI
TIPOS DE MOVIMIENTOS
z De un campo numrico a otro numrico de
edicin o no.
Los campos emisor y receptor se alinean por el
punto decimal.
Si tamao (campo receptor) < tamao (campo
emisor), se produce truncamiento de la parte entero
y/o decimal.
Si tamao (campo receptor) > tamao (campo
emisor), se rellena con ceros no significativos en
cualquiera de las partes.
52
TIPOS DE MOVIMIENTOS
z De un campo alfabtico o alfanumrico a otro
de tipo alfabtico o alfanumrico de edicin o
no.
El contenido del campo emisor se va colocando en
el campo receptor de izquierda a derecha, excepto
cuando el campo receptor se ha especificado la
clusula JUSTIFIED RIGHT.
Si tamao (campo receptor) < tamao(campo
emisor), se produce truncamiento.
Si tamao (campo receptor) > tamao(campo
emisor), se rellena con blancos.
53
EJEMPLOS
MOVE EMISOR TO RECEPTOR ANTES DESPUS
EJEMPLOS
01 GRUPO-1
05 NUMERO PIC 99.
05 DIA PIC X(7).
05 AO PIC 99.
01 GRUPO-2
05 LOCALIDAD PIC X(15).
05 MUNICIPIO PIC 999.
05 PRESUPUESTO PIC 9(5)V99.
GRUPO-1 12JUEVESb95
GRUPO-2 ARANDAbDEbDUERO9815321572
GRUPO-1 12JUEVESb95
54
EJEMPLOS
01 TABLA
02 TABLA-CELDA OCCURS 50 TIMES PIC 9(5)V99.
MOVE ZEROS TO TABLA rellena los 350 bytes del campo de TABLA
con ceros. Como resultado cada uno de los 7 bytes de los campos de
TABLA-CELDA tambin tendr valores cero.
EJEMPLOS
01 REGISTRO-PERSONAL.
03 NUMERO PIC 9(5).
03 NOMBRE PIC X(30).
03 DIRECCION PIC X(20).
03 DIS-POSTAL PIC 99.
01 LINEA-IMPRESION.
02 FILLER PIC X(10) VALUE SPACES.
02 NUMERO PIC Z(5).
02 FILLER PIC X(5) VALUE SPACES.
02 NOMBRE PIC X(30).
02 FILLER PIC X(5) VALUE SPACES.
02 DIRECCION PIC X(20).
02 FILLER PIC X(5) VALUE SPACES.
02 DIS-POSTAL PIC ZZ.
55
LENGUAJE ORIENTADO A
SISTEMAS DE GESTIN
ESTRUCTURAS DE
CONTROL
INTRODUCCIN
z El teorema de la estructura establece que un
programa propio puede ser escrito utilizando
solamente tres tipos de estructuras de control:
secuencial, repetitiva y condicional.
z Un programa se define como propio si cumple:
Posee un solo punto de entrada y otro de salida para
el control del programa.
Existen caminos desde la entrada hasta la salida que
se pueden seguir y que pasan por todas las partes del
programa.
Todas las instrucciones son ejecutables y no existen
bucles infinitos.
56
PROCEDURE DIVISION
z Es precisamente en esta divisin donde se escriben las
instrucciones de ejecucin.
z Es la divisin que permite especificar con la sintaxis del
lenguaje de programacin COBOL, el conjunto de
acciones a realizar.
PROCEDURE DIVISION.
Nombre-prrafo-1.
.............................................
.............................................
Nombre-prrafo-2.
.............................................
.............................................
ESTRUCTURA SECUENCIAL
z Se emplea para especificar la secuencia de ejecucin
de un programa modular representado por prrafos.
PERFORM nombre-prrafo
PROCEDURE DIVISION.
PROGRAMA PROGRAMA.
PERFORM P-PROGRAMA.
............................................
............................................
STOP RUN.
P-PROGRAMA.
sentencia 1.
P-PROGRAMA
sentencia 2.
57
LENGUAJE ORIENTADO A
SISTEMAS DE GESTIN
ESTRUCTURAS DE
CONTROL
VERBO IF
z Este verbo produce la evaluacin de una
condicin, dependiendo la siguiente
accin del programa a realizar, de la
evaluacin de la misma.
58
VERBO IF
PROGRAMA
CONDICIN
SENTENCIA 1
SENTENCIA 2
PROCEDURE DIVISION. .
PROGRAMA. .
PERFORM P-PROGRAMA. CIERTO.
IF condicin sentencia-1
THEN PERFORM CIERTO. sentencia-2
PERFORM F-PROGRAMA.
VERBO IF
PROGRAMA
CONDICIN
SENTENCIA 1 SENTENCIA 3
SENTENCIA 2 SENTENCIA 4
59
CONDICIONES. TIPOS
z Condiciones de relacin.
Las condiciones de relacin se refieren a las
comparaciones entre dos items. El tipo de comparacin
se indica por el operador relacional que puede estar en
forma de palabras o de smbolos.
identificador-1 identificador-2
literal-1 IS operador literal-2
exp-aritmtica-1 exp-artimtica-2
CONDICIONES. TIPOS
60
CONDICIONES. TIPOS
z Condiciones de clase.
El uso de una condicin de clase hace posible
determinar si un identificador pertenece o no a una de
las cuatro clases incluidas en el Formato siguiente:
NUMERIC
ALPHABETIC
Identificador IS [NOT]
ALPHABETIC-LOWER
ALPHABETIC-UPPER
CONDICIONES. TIPOS
z Condiciones de signo.
Permiten determinar si el valor de una campo
numrico o de una expresin aritmtica es positivo,
negativo o cero. El Formato general es el siguiente:
POSITIVE
Expresin Aritmtica IS [NOT] NEGATIVE
ZERO
61
CONDICIONES. TIPOS
z Condiciones de nombre de condicin.
Este tipo de condicin facilita la asociacin de uno o
varios valores a un nombre, el cual se puede
interrogar durante el proceso. Los valores asociados
al nombre se definen en la DATA DIVISION al definir
el campo.
02 campo-n PIC.....
88 nomb-condicin VALUE IS lit-1 THRU lit-n
CONDICIONES. TIPOS
z Supongamos que disponemos de un fichero secuencial
en el que la estructura de sus registros soporta un campo
de tipo alfanumrico para determinar el sexo de los
empleados.
02 SEXO-EM PIC X.
88 MASCULINO VALUE 1.
88 FEMENINO VALUE 2.
88 ERROR-CODIGO VALUES ARE LOW-VALUES THRU ZERO,
3 THRU HIGH-VALUES.
62
CONDICIONES. TIPOS
z Condiciones compuestas.
Son varias condiciones simples enlazadas mediante
operaciones lgicas AND y OR.
Orden de evaluacin de las condiciones
1 - PARNTESIS
2 - NOT
3 - AND
4 - OR
5 - A igualdad de operadores de izquierda a derecha
VERBO EVALUATE
z Este verbo produce la evaluacin de una condicin,
dependiendo la siguiente accin del programa a realizar,
de la evaluacin de la misma. Es una forma de
implementar la estructura Casos.
EVALUATE identificador
WHEN literal-1 THRU literal-2 instruccin imperativa-1
...........
WHEN OTHER instruccin imperativa-n
63
VERBO EVALUATE
PROGRAMA
IDENTIFICADOR = V1
= V3
= V2
PROCEDURE DIVISION.
PROGRAMA.
PERFORM P-PROGRAMA.
EVALUATE identificador
WHEN v1 PERFORM PARRAFO-1
WHEN v2 PERFORM PARRAFO-2
WHEN OTHER PERFORM PARRAFO-3
END-EVALUATE.
PERFORM F-PROGRAMA.
STOP RUN.
VERBO EVALUATE
Si tenemos un cdigo que puede tener como valores: 1, 2, y 3. El
siguiente rbol programtico representa la estructura condicional anidada
que verifica el valor del cdigo y ejecuta el prrafo adecuado.
VALOR-CDIGO
CDIGO 0 1
BORRAR FALSO
CODIGO = 3
MODIFICAR ERROR
64
VERBO EVALUATE
VALOR-CDIGO
CDOGO = 1
OTRO
=2 =3
VERBO EVALUATE
EVALUATE TRUE
WHEN NOMBRE-DE-CONDICION instruccin imperativa-1
...........
WHEN OTHER instruccin imperativa-n
DATA DIVISION.
WORKING-STORAGE SECTION.
01 CODIGO PIC 9.
88 AADIR-REGISTRO VALUE 1.
88 SUPRIMIR-REGISTRO VALUE 2.
88 MODIFICAR-REGISTRO VALUE 3.
88 ERROR-CODIGO VALUE ARE 0 4 THRU 9.
EVALUATE TRUE
WHEN aadir-registro PERFORM AADIR
WHEN suprimir-registro PERFORM SUPRIMIR
WHEN modificar-registro PERFORM MODIFICAR
WHEN OTHER PERFORM CODIGO-ERRONEO
END-EVALUATE.
65
VERBO EVALUATE
CONDICIN
CDIGO CALIFICACIN ACCIN A REALIZAR
1o2 A, B o C PRRAFO-1
3 AoB PRRAFO-2
4 cualquiera PRRAFO-3
cualquier otro cualquiera PRRAFO-4
LENGUAJE ORIENTADO A
SISTEMAS DE GESTIN
ESTRUCTURAS DE
CONTROL
66
VERBO PERFORM
PROCEDURE DIVISION.
PROGRAMA.
..............................
PERFORM BUCLE 5 TIMES
.............................
BUCLE.
sentencia 1. BUCLE
sentencia 2. 5 VECES
VERBO PERFORM
PROGRAMA
67
VERBO PERFORM
PROGRAMA
VERBO PERFORM
PERFORM prrafo
[WITH TEST BEFORE/AFTER]
VARYING iden-1 FROM lit-1/iden-2
BY lit-2/iden-3 UNTIL condicin-1
68
VERBO PERFORM
z La ejecucin, si no se ha especificado la opcin TEST
AFTER se realiza de la siguiente forma:
a) El identificador-1 se inicializa al valor especificado por
literal-1 o identificador-2 que sigue al FROM.
b) Se evala la condicin-1.
1. Si es cierta, se da por finalizada la ejecucin de la sentencia
PERFORM y se pasa a ejecutar la siguiente sentencia del
programa.
2. Si es falsa, se pasa al punto c.
c) Se ejecuta el prrafo
d) Se suma a identificador-1 el valor especificado por
identificador-3 que sigue a BY y se vuelve al punto b.
VERBO PERFORM
PERFORM prrafo WITH TEST BEFORE
VARYING iden-1 FROM iden-2
BY iden-3 UNTIL condicin
PROGRAMA
69
VERBO PERFORM
PERFORM prrafo
[WITH TEST BEFORE/AFTER]
VARYING iden-1 FROM lit-1/iden-2
BY lit-3/iden-3 UNTIL condicin-1
AFTER iden-4 FROM lit-5/iden-5
BY lit-4/iden-6 UNTIL condicin-2
VERBO PERFORM
a) El identificador-1 y el identificador-4 se inicializan a los
valores respectivos que siguen a cada FROM.
b) Se evala la condicin-1.
1. Si es cierta, se da por finalizada la ejecucin de la sentencia
PERFORM y se pasa a ejecutar la siguiente sentencia del
programa.
2. Si es falsa, se pasa al punto c.
c) Se evala la condicin-2.
1. Si es cierta, el identificador-4 se inicializa al valor especificado por
literal-5 o identificador-5 que sigue a FROM, tambin se suma a
identificador-1 el valor especificado por identificador-3 que sigue a
BY y se contina en el punto b.
2. Si es falsa se pasa al punto d.
d) Se ejecuta el
e) Se suma a identificador-4 el valor especificado por
identificador-6 que sigue a BY y se vuelve al punto c.
70
VERBO PERFORM
PROGRAMA
CONDICIN 1
CONDICIN 2
71