Manual de Cobol 4
Manual de Cobol 4
Manual de Cobol 4
5- Sentencias de control.
1- Por un punto.
2- Por la cláusula END-IF.
Cuando la acción-1 o la acción-2 están formadas por varias sentencias, solamente la ultima
finaliza con un punto, ya que este indica el final de una sentencia IF.
Pruebas de relación:
Condiciones combinadas.
Una condición combinada esta formada por un conjunto de condiciones simples unidas por los
operadores OR y AND. El formato es el siguiente:
AND
condición simple condición simple
OR
También, hay que tener presente que el operador NOT puede preceder a una condición simple o
a una condición combinada.
COBOL Verano 95. Capitulo 5. 28
Pruebas de clase.
Pruebas de signo.
Permiten determinar si el valor de un campo numérico de una expresión aritmética es positivo,
negativo o cero. El formato general es el siguiente:
nombre datos POSITIVE
IS [NOT] NEGATIVE
expr-aritmetica ZERO
Las sentencias IF...THEN pueden estar anidadas. Esto quiere decir que como acción-1 o acción-
2, de acuerdo con el formato, puede escribirse otra sentencia IF.
Estructura IF.
Formato 1:
Formato 2:
entero
PERFORM procedimiento-1 [THRU procedimiento-2] TIMES
nombre datos
Formato 3:
entero
PERFORM TIMES {sentencia}..... END-PERFORM
nombre datos
Cuando se emplea este formato, la sentencia PERFORM ejecuta el numero de veces especificado
por entero o por nombre de datos, el conjunto de sentencias que hay entre PERFORM y END-
PERFORM. Un punto, como final de alguna de las sentencias de esta estructura, daría lugar a un error, ya
que se entendería como final de la sentencia PERFORM.
Formato 4:
AFTER
PERFORM procedimiento-1 [THRU procedimiento-2] WITH TEST
BEFORE
UNTIL condición
La opción TEST AFTER, evalúa la condición después de la ejecución, esto quiere decir que la
ejecución se efectuara una o mas veces.
Formato 5:
BEFORE
PERFORM WITH TEST UNTIL condición
AFTER
{sentencia} ...
END-PERFORM
Cuando se emplea este formato, la sentencia PERFORM ejecuta el conjunto de sentencias que
hay entre PERFORM y END-PERFORM hasta que la condición sea verdad. Un punto, como final de
alguna de las sentencias de esta estructura, daría lugar a un error, ya que se entendería como final de la
sentencia PERFORM.
Formato 6:
BEFORE
PERFORM procedimiento-1 [THRU procedimiento-2] WITH TEST
AFTER
nombre dato-1 nombre dato-2 nombre dato-3
VARYING FROM literal BY
nombre indice-1 nombre indice-2 nombre indice-3
UNTIL condición
Formato 7:
BEFORE nombre dato-1 nombre dato-2
PERFORM WITH TEST VARYING FROM literal
AFTER nombre indice-1 nombre indice-2
nombre dato-3
BY UNTIL condición {sentencia} ... END-PERFORM
nombre indice-3
Formato 8:
BEFORE
PERFORM procedimiento-1 [THRU procedimiento-2] WITH TEST
AFTER
nombre dato-1 nombre dato-2 nombre dato-3
VARYING FROM literal BY
nombre indice-1 nombre indice-2 nombre indice-3
UNTIL condición-1
nombre dato-4 nombre dato-5 nombre dato-6
AFTER FROM literal-2 BY
nombre indice-4 nombre indice-5 nombre indice-6
UNTIL condición-2
Los nombres dato y/o pueden ser enteros o reales, positivos o negativos y cero excepto los
nombres de índice que deben ser enteros.
Dentro del ámbito de una sentencia PERFORM, puede especificarse otra sentencia PERFORM,
aunque hay que tener presentes las siguientes reglas:
1- El procedimiento PERFORM ejecutado desde el ámbito de otro PERFORM debe
ser totalmente exterior o totalmente interior a este.
2- Los ámbitos de dos PERFORM se pueden solapar cuando las sentencias de
llamada para su ejecución están fuera de estos ámbitos.
3- Las sentencias PERFORM pueden ser anidadas libremente.
4- Un procedimiento PERFORM puede llamarse asimismo, esto es, la recursividad
esta permitida.
Sentencia EXIT.
Formato: EXIT
Esta sentencia permite transferir el control desde un punto de la división PROCEDURE a otro.
Formato 1:
GO TO [nombre procedimiento]
Formato 2:
Sentencia ALTER.
Esta sentencia permite modificar el punto al cual ha de bifurcar una sentencia GO. Su formato es
el siguiente:
Sentencia STOP.
La sentencia STOP RUN termina el programa y devuelve el control al sistema operativo. Por eso
es la ultima sentencia que se ejecuta.
La sentencia STOP literal, suspende la ejecución del programa y envía el literal especificado a la
pantalla. A continuación el operador puede continuar la ejecución del programa o bien detener la misma.