Rutinas PERFORM UNTIL y VARIYING - Capítulo 15

Curso de COBOL desde cero


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.

Código

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.

Código

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.

Código

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

Suscríbete a mi canal de YouTube para apoyarme

Si te ha gustado este curso y crees que el trabajo merece la pena, te agradeceré eternamente que te suscribas a mi canal de YouTube para apoyarme y que pueda seguir haciendo cursos gratuitos.

Además, si te encanta la programación, tienes un montón más de cursos gratuitos para ver.

No solo eso, podrás participar enviándome comentarios con tus sugerencias para temas específicos o cursos completos o incluso las dudas que tengas y las intentaré ir resolviendo en los cursos que estén todavía abiertos.


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.