El uso de rutinas con PERFORM UNTIL y PERFORM VARIYING en COBOL
Capítulo 15: Rutinas PERFORM UNTIL y VARIYING
Terminamos en este curso con el tema de los PERFORM
viendo el uso de PERFORM UNTIL
y PERFORM VARIYING
.
Para este ejemplo podemos reutilizar el programa del capítulo anterior. En este caso, en lugar de utilizar TIMES
utilizo UNTIL
.
PERFORM UNTIL
lo que hace es ejecutar una rutina mediante una condición.
En el caso de este ejemplo, se va a hacer un PERFORM
todas las veces que sea necesarias hasta que la variable NUMERO
valga 10
.
IDENTIFICATION DIVISION.
PROGRAM-ID. CAPITULO-15.
DATA DIVISION.
FILE SECTION.
WORKING-STORAGE SECTION.
01 NUMERO PIC 999.
PROCEDURE DIVISION.
INICIO.
PERFORM OPERACION UNTIL NUMERO = 10.
STOP RUN.
OPERACION.
ADD 1 TO NUMERO.
DISPLAY NUMERO.
END PROGRAM CAPITULO-15.
Resultado
001
002
003
004
005
006
007
008
009
010
Podemos mejorar este UNTIL
poniendo junto con él un VARIYING
para hacer en esa misma línea un incremento o decremento.
IDENTIFICATION DIVISION.
PROGRAM-ID. CAPITULO-15.
DATA DIVISION.
FILE SECTION.
WORKING-STORAGE SECTION.
01 NUMERO PIC 999.
PROCEDURE DIVISION.
INICIO.
PERFORM OPERACION VARYING NUMERO FROM 15 BY 1 UNTIL NUMERO > 25
STOP RUN.
OPERACION.
DISPLAY NUMERO.
END PROGRAM CAPITULO-15.
Resultado
015
016
017
018
019
020
021
022
023
024
025
Podemos hacer este mismo programa con menos código, incluso con una sola rutina.
Para hacer un PERFORM
sobre la misma rutina, lo podemos hacer poniendo PERFORM
a secas, sin llamar a ninguna rutina. Con esto COBOL entiende que estas llamando a la propia rutina que contiene el PERFORM
.
IDENTIFICATION DIVISION.
PROGRAM-ID. CAPITULO-15.
DATA DIVISION.
FILE SECTION.
WORKING-STORAGE SECTION.
01 NUMERO PIC 999.
PROCEDURE DIVISION.
INICIO.
PERFORM VARYING NUMERO FROM 75 BY 2 UNTIL NUMERO > 100
DISPLAY NUMERO.
END-PERFORM.
STOP RUN.
END PROGRAM CAPITULO-15.
Resultado
075
077
079
081
083
085
087
089
091
093
095
097
099
Comentarios
Si te quedan dudas sobre el temario, sobre COBOL, o cualquier otra cosa relacionada o simplemente quieres agradecer, aquí tienes tu sitio para dejar tu granito de arena. Gracias por tus comentarios y por darle vida a este sitio web.