59
Procesamiento de Datos [email protected] [email protected] [email protected] Ing. Ronald Pérez Estructura de un Programa COBOL

Presentación COBOL

Embed Size (px)

Citation preview

Page 1: Presentación COBOL

Procesamiento de Datos

[email protected]@cantv.net

[email protected]

Ing. Ronald Pérez

Estructura de un Programa COBOL

Page 2: Presentación COBOL

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.

Page 3: Presentación COBOL

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 ]

Page 4: Presentación COBOL

Procesamiento de Datos

Estructura de un programa COBOL

Un programa fuente Cobol es un conjunto de

instrucciones, párrafos y secciones que se

agrupan en cuatro DIVISIONES obligatorias

que, escritas en orden, son las siguientes:

oIDENTIFICATION DIVISION.

oENVIRONMENT DIVISION.

oDATA DIVISION.

oPROCEDURE DIVISION.

Page 5: Presentación COBOL

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:

Page 6: Presentación COBOL

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.]

Page 7: Presentación COBOL

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:

Page 8: Presentación COBOL

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.] ]

Page 9: Presentación COBOL

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.

Para esta última opción se utiliza el párrafo SPECIAL-

NAMES siendo interesante la posibilidad de

intercambiar la función de la coma y el punto decimal :

ENVIRONMENT DIVISION.

CONFIGURATION SECTION.

SPECIAL-NAMES.

DECIMAL-POINT IS COMMA.

Page 10: Presentación COBOL

Procesamiento de Datos

ENVIR0NMENT DIVISION

(División de entorno)

INPUT-OUTPUT SECTION

(Sección de entrada / salida)

Esta sección es también opcional. Proporciona

información al compilador sobre los archivos

utilizados en el programa y su relación con los

dispositivos externos. Se explicará con detalle a

la hora de trabajar con ficheros.

Page 11: Presentación COBOL

Procesamiento de Datos

DATA DIVISION (División de datos)

Se utiliza para realizar una descripción

completa de los ficheros que intervienen en el

programa, de sus registros lógicos y de las

variables de trabajo. Su formato es el siguiente:

Page 12: Presentación COBOL

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.]]

Page 13: Presentación COBOL

Procesamiento de Datos

DATA DIVISION (División de datos)

FILE SECTION

(Sección de Ficheros)

En esta sección se describen detalladamente

toda la información 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 más detalle en los apuntes de ficheros.

Page 14: Presentación COBOL

Procesamiento de Datos

DATA DIVISION (División de datos)

WORKING-STORAGE SECTION

(Sección 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 número de nivel, su nombre, su

tipo y longitud, opcionalmente también se le

puede asignar un valor inicial.

Page 15: Presentación COBOL

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.

Page 16: Presentación COBOL

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

Page 17: Presentación COBOL

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:

nn identificador PIC IS especificación 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.

Page 18: Presentación COBOL

Procesamiento de Datos

DATA DIVISION (División de datos)

Cláusula PICTURE

nn identificador PIC IS especificación de formato.

•El tipo del campo depende de los caracteres que

se empleen para definir la especificación de

formato.

•La longitud de un campo viene dada por el

número de caracteres empleados en la

especificación de formato para declarar el campo.

•Los campos pueden ser alfabéticos,

alfanuméricos y numéricos.

Page 19: Presentación COBOL

Procesamiento de Datos

DATA DIVISION (División de datos)

Cláusula PICTURE

nn identificador PIC IS especificación de formato.

•El tipo del campo depende de los caracteres que

se empleen para definir la especificación de

formato.

•La longitud de un campo viene dada por el

número de caracteres empleados en la

especificación de formato para declarar el campo.

•Los campos pueden ser alfabéticos,

alfanuméricos y numéricos.

Page 20: Presentación COBOL

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).

Page 21: Presentación COBOL

Procesamiento de Datos

DATA DIVISION (División de datos)

Cláusula PICTURE

Campos numéricos

Almacenan cualquier valor numérico que no tenga más

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 dígito decimal.

77 PRECIO PIC 9(6).

La S indica la aparición de signo. No es obligatorio,

pero si conveniente porque si no Cobol, después de

cada operación lo suprime. No ocupa espacio en

memoria y cuando se pone, debe ser el primer carácter

de la especificación de formato.

Page 22: Presentación COBOL

Procesamiento de Datos

DATA DIVISION (División de datos)

Cláusula PICTURE

Campos numéricos

77 SALDO PIC S9(7).

La V representa la posición del punto decimal. Se

denomina punto decimal implícito ya que no ocupa

espacio en memoria y sólo se usa internamente para

alinear las partes decimales de los campos cuando se

quiere realizar una operación.

77 NOTA PIC 99V99.

Page 23: Presentación COBOL

Procesamiento de Datos

DATA DIVISION (División de datos)

PICTURE para edición

Los caracteres descritos hasta ahora para definir los

datos numéricos, no sirven para ser visualizados por

pantalla. Para se utilizan los caracteres de edición, 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.

Page 24: Presentación COBOL

Procesamiento de Datos

DATA DIVISION (División de datos)

PICTURE para edición

Los caracteres Z y * no pueden ir precedidos, pero si

seguidos, del carácter 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 carácter en

el lugar que se indica de la especificación de formato.

Page 25: Presentación COBOL

Procesamiento de Datos

DATA DIVISION (División de datos)

Cláusula VALUE

Permite asignar un valor inicial para un campo que se

define con PICTURE dentro de la WORKING-

STORAGE SECTION.

77 TOTAL PIC 9(5) VALUE 0.

Page 26: Presentación COBOL

Procesamiento de Datos

DATA DIVISION (División de datos)

LINKAGE SECTION (Sección 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 (Sección de

Comunicaciones)

Permite procesar mensajes y controlar el flujo de

los mismos.

SCREEN SECTION (Sección de Pantalla)

Controla la representación de los datos en la

pantalla de la forma más optima.

Page 27: Presentación COBOL

Procesamiento de Datos

PROCEDURE DIVISION

(División de procedimientos)

Indica la secuencia de operaciones necesarias

para resolver un problema dado. Es la parte del

programa que se ejecuta (el algoritmo).

Puede ser dividida en secciones y estás a su

vez en párrafos. Cada párrafo generalmente

agrupará varias sentencias. La división en

secciones es opcional y poco utilizada, en

cambio, la división en párrafos es muy

frecuente.

Page 28: Presentación COBOL

Procesamiento de Datos

PROCEDURE DIVISION

(División de procedimientos)

VISUALIZAR DATOS: DISPLAY

Esta sentencia permite escribir datos en el dispositivos

estándar de salida, la pantalla.

DISPLAY “RESULTADO:” A

Permite visualizar un dato en una posición de pantalla

determinada. LINE y POSITION sirven para especificar

la fila y la columna donde va a comenzar la operación

de escritura.

DISPLAY “ENTRADA DE DATOS:” LINE 10 POSITION 20

Page 29: Presentación COBOL

Procesamiento de Datos

PROCEDURE DIVISION

(División de procedimientos)

VISUALIZAR DATOS: DISPLAY

Otras opciones:

ERASE: Borra la pantalla completa. Si se escribe ERASE

EOL borrar desde la posición del cursor hasta el final de

esa línea, y si se escribe ERASE EOS borra desde la

posición del cursor hasta el final de la pantalla.

NO ADVANCING: Hace que el cursor no avance de línea,

una vez que se ha ejecutado la sentencia DISPLAY.

HIGH y LOW: Permite visualizar la información en alta

(HIGH) o baja (LOW) intensidad de vídeo. El valor por

defecto es HIGH.

BLINK: Hace parpadear los datos visualizados.

Page 30: Presentación COBOL

Procesamiento de Datos

PROCEDURE DIVISION

(División de procedimientos)

VISUALIZAR DATOS: DISPLAY

Otras opciones:

REVERSE: Los elementos visualizados aparecerán en

vídeo inverso.

CONTROL: Permite especificar el color de fondo y el color

de los caracteres que se escriben.

FCOLOR = color: Especifica el color de los caracteres.

BCOLOR = color: Especifica el color de fondo.

color puede ser una constante de las siguientes: BLACK,

BLUE, GREEN, CYAN, RED, MAGENTA, BROWN o

WHITE.

DISPLAY ‘HOLA MUNDO’ CONTROL

‘FCOLOR=WHITE,BCOLOR=BLUE’

Page 31: Presentación COBOL

Procesamiento de Datos

PROCEDURE DIVISION

(División de procedimientos) LEER DATOS: ACCEPT

Permite asignar valores a uno o más variables desde el

teclado.

ACCEPT A

Al igual que DISPLAY, también permite efectuar la entrada

de datos colocando el cursor en una determinada

posición, usando LINE y POSITION.

ACCEPT A LINE 10 POSITION 20

También funcionan con ACCEPT las opciones ERASE,

HIGH, LOW, BLINK, REVERSE y CONTROL, todas ellas

con las mismas funciones que en DISPLAY.

Page 32: Presentación COBOL

Procesamiento de Datos

PROCEDURE DIVISION

(División de procedimientos)

LEER DATOS: ACCEPT

Además existen las siguientes posibilidades:

TAB: Obliga a pulsar Enter cuando tecleando la entrada

del campo leído se llega al final del campo. Si no se

especifica TAB no es necesario.

NO SEP: Suprime el sonido emitido por defecto al ejecutar

la orden.

Page 33: Presentación COBOL

Procesamiento de Datos

PROCEDURE DIVISION

(División de procedimientos)

LEER DATOS: ACCEPT

Además existen las siguientes posibilidades:

PROMPT [literal]: Marca sobre pantalla con el carácter

especificado las posiciones vacías mientras se ejecuta la

orden. Si no se indica carácter por defecto se utiliza el

subrayado.

UPPER - Convierte la entrada a mayúsculas. Tiene que

utilizarse con CONTROL.

ACCEPT NOMBRE NO BEEP CONTROL

“UPPER,BCOLOR=BLUE"

Page 34: Presentación COBOL

Procesamiento de Datos

PROCEDURE DIVISION

(División de procedimientos)

INTRUCCIÓN DE ASIGNACIÓN: MOVE

Esta sentencia permite transferir datos de una variable

a otra u otras. Los datos que se transfieren deben ser

del mismo tipo que la variable a la que se mueven.

Después de realizarse la operación de mover, las dos

variables contendrán los mismos datos.

MOVE 0 TO SUMA SUMA=0

MOVE A TO MAYOR MAYOR=A

Page 35: Presentación COBOL

Procesamiento de Datos

PROCEDURE DIVISION

(División de procedimientos)

SENTENCIA ADD

Permite sumar dos o más operandos numéricos y

almacenar el resultado en uno o más campos de datos.

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.

ADD 1 TO CONT CONT = CONT + 1

ADD A TO B C B = B + A C = C + A

Page 36: Presentación COBOL

Procesamiento de Datos

PROCEDURE DIVISION

(División de procedimientos)

SENTENCIA ADD

Opción GIVING

La suma de los valores de los operandos que preceden

a GIVING se almacenan en los campos que están a

continuación. Los campos que están a continuación de

GIVING pueden ser numéricos de trabajo o de edición.

ADD A B GIVING CONT CONT = A + B

ADD A B GIVING S T S = A + B T = A + B

Page 37: Presentación COBOL

Procesamiento de Datos

PROCEDURE DIVISION

(División de procedimientos)

SENTENCIA SUBTRACT

Se utiliza para restar un dato numérico, o la suma de

dos o más datos numéricos, del valor de una o más

variables, dejando el resultado en uno o más campos.

Opción FROM

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 ella misma.

El proceso se repite para el resto de variables que sigan

a FROM.

Page 38: Presentación COBOL

Procesamiento de Datos

PROCEDURE DIVISION

(División de procedimientos)

SENTENCIA SUBTRACT

SUBTRACT 1 FROM A A = A - 1

SUBTRACT A B FROM R R = R - ( A + B)

SUBTRACT A B FROM R T R = R- ( A + B) T = T - (

A + B)

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 )

Page 39: Presentación COBOL

Procesamiento de Datos

PROCEDURE DIVISION

(División de procedimientos)

SENTENCIA MULTIPLY

Es utilizada para multiplicar un dato numérico por otro u

otros datos numéricos y dejar el resultado en una o más

variables.

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

Page 40: Presentación COBOL

Procesamiento de Datos

PROCEDURE DIVISION

(División de procedimientos)

SENTENCIA MULTIPLY

Opción GIVING

El operando que precede a BY se multiplica por el que

está a continuación suya, almacenando el resultado en

las variables que siguen a la palabra GIVING.

MULTIPLY 2 BY A GIVING P P = A * 2

MULTIPLY A BY P GIVING T T = P * A

Page 41: Presentación COBOL

Procesamiento de Datos

PROCEDURE DIVISION

(División de procedimientos)

SENTENCIA DIVIDE

Se utiliza para dividir uno o más datos numéricos por

otro y dejar el resultado en uno o más campos.

Opción INTO

El operando que precede a INTO actúa como divisor del

valor actual del dato que va a continuación suyo,

almacenando el resultado en este mismo campo y

repitiendo el proceso para el resto de los campos que

siguen a la palabra INTO.

DIVIDE 5 INTO A A = A / 5

Page 42: Presentación COBOL

Procesamiento de Datos

PROCEDURE DIVISION

(División de procedimientos)

SENTENCIA DIVIDE

Opción GIVING

El operando que precede a INTO actúa como divisor del

valor actual del dato que va a continuación suyo,

almacenando el resultado de dicha división en las

variables que aparecen después de GIVING.

DIVIDE 5 INTO A GIVING R A = A / 5

Page 43: Presentación COBOL

Procesamiento de Datos

PROCEDURE DIVISION

(División de procedimientos)

SENTENCIA DIVIDE

Opción BY

El operando que precede a BY se divide por valor del

dato que va a continuación suyo, almacenando el

resultado de dicha división en las variables que

aparecen después de GIVING.

DIVIDE A BY 5 GIVING R R = A / 5

Page 44: Presentación COBOL

Procesamiento de Datos

PROCEDURE DIVISION

(División de procedimientos)

SENTENCIA DIVIDE

Opción REMAINDER

Se encarga de recoger el resto de una división entre

dos datos de tipo entero. Se puede usar tanto con INTO

como con BY, pero en ambos casos con la opción

GIVING.

DIVIDE 5 INTO A GIVING A REMAINDER R

A = A div 5 R = A mod 5

DIVIDE A BY 10 GIVING R REMAINDER V

R = A div 10 V = A mod 10

Page 45: Presentación COBOL

Procesamiento de Datos

PROCEDURE DIVISION

(División de procedimientos)

SENTENCIA COMPUTE

Permite asignar a una o más variables numéricas el

valor de una constante numérica, de otro campo

numérico o de una expresión aritmética.

COMPUTE A = 0

COMPUTE AUX = A

COMPUTE RESULTADO = A * B + (B - 2) / 5

Page 46: Presentación COBOL

Procesamiento de Datos

SENTENCIAS DE CONTROL

Page 47: Presentación COBOL

Procesamiento de Datos

SENTENCIA IF

Permite tomar una decisión referente a una acción a

ejecutar en un programa, basándose en el resultado,

verdadero o falso, de una determinada condición.

IF A > 0

MOVE 1 TO A Se ejecuta si la condición es verdadera.

END-IF

Page 48: Presentación COBOL

Procesamiento de Datos

SENTENCIA IF

Si el resultado de la condición es falso la instrucción no

se ejecuta.

IF A + 1 > B AND B > C * 2

MOVE 0 TO A Se ejecuta si la condición es verdadera.

ELSE

ADD 1 TO A Se ejecuta si la condición es falsa.

END-IF

Page 49: Presentación COBOL

Procesamiento de Datos

SENTENCIA IF

El ámbito de una sentencia IF finaliza de cualquiera de

las dos formas siguientes:

1- Por un punto.

IF B NOT = 0 DISPLAY "B es distinto de 0".

2- Por una cláusula END-IF

IF B NOT = 0 DISPLAY "B es distinto de 0" END-IF

Cuando dentro del condicional hay varias sentencias,

solamente puede llevar punto la última, ya que este es

el que indica el final de la sentencia.

Page 50: Presentación COBOL

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.

Page 51: Presentación COBOL

Procesamiento de Datos

SENTENCIA IF

Las sentencias IF… ELSE pueden estar

anidadas.

IF A = 0

IF B NOT = 0

ADD B TO C

END-IF

ELSE

ADD A TO C

END-IF

Page 52: Presentación COBOL

Procesamiento de Datos

SENTENCIA PERFORM

Es la sentencia COBOL que se adapta a la construcción

de estructura repetitivas. Tiene varios formatos que

estudiaremos a continuación.

Formato 1

Nos permite llamar a un párrafo para que se ejecute

una vez. Un párrafo está formado por una serie de

instrucciones encabezadas por un nombre de párrafo.

Después de ejecutadas dichas instrucciones, el

programa seguirá en la siguiente a la instrucción

PERFORM ejecutada.

Page 53: Presentación COBOL

Procesamiento de Datos

SENTENCIA PERFORM

Formato 1

PERFORM CONTAR

...

CONTAR. Area

ADD 1 TO I

DISPLAY I.

Page 54: Presentación COBOL

Procesamiento de Datos

SENTENCIA PERFORM

Formato 2

Permite ejecutar un grupo de instrucciones un cierto número

de veces.

PERFORM CONTAR 10 TIMES

...

CONTAR.

ADD 1 TO I

DISPLAY I.

También se podría ejecutar bajo el siguiente formato, con

igual resultado.

PERFORM 10 TIMES

ADD 1 TO I

DISPLAY I

END-PERFORM

Page 55: Presentación COBOL

Procesamiento de Datos

SENTENCIA PERFORM

Formato 3

Ejecuta un conjunto de instrucciones hasta que la

condición especificada sea cierta.

MOVE 0 TO I

PERFORM CONTAR UNTIL I = 10

...

CONTAR.

ADD 1 TO I

DISPLAY I.

Page 56: Presentación COBOL

Procesamiento de Datos

SENTENCIA PERFORM

Formato 3

También puede ejecutarse utilizando la sentencia END-

PERFORM.

MOVE 0 TO I

PERFORM UNTIL I = 10

ADD 1 TO I

DISPLAY I

END-PERFORM

Page 57: Presentación COBOL

Procesamiento de Datos

SENTENCIA PERFORM

Formato 3

En ambos casos la condición de salida se evalúa

antes de entrar (mientras). Si es cierta, se da por

finalizada la ejecución de la sentencia PERFORM y

se pasa a la sentencia siguiente. Si es falsa se

ejecutan las sentencias que se encuentran dentro

de la estructura repetitiva.

Page 58: Presentación COBOL

Procesamiento de Datos

SENTENCIA PERFORM

Formato 3

La opción TEST AFTER evalúa la condición después de

la primera ejecución (repetir).

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

Page 59: Presentación COBOL

Procesamiento de Datos

SENTENCIA PERFORM

Formato 3

MOVE 7 TO I

PERFORM UNTIL I > 5

DISPLAY I Sin la opción TEST AFTER, no se ejecutan nunca.

ADD 7 TO I

END-PERFORM