
¿Cómo utilizar PERFORM VARYING?
Capítulo 44: El bucle PERFORM VARYING
En este capítulo, terminamos con los capítulos dedicados a bucles, viendo algo similar al bucle for. Se trata de PERFORM VARYING
., la estructura más compleja de todas.
Metalenguaje de PERFORM VARYING

Construir un bucle con PERFORM VARYING
Empecemos con un ejemplo básico.
Aquí tienes un bucle que va a acceder al párrafo Operacion
. Se le da un valor inicial de 15 a la variable Numero
que podría ser representada como una "i", que es lo que siempre se suele poner en los bucles for. A esta variable, se le especifica un incremento, en este caso, que sea de 1 en 1, pero pueden ser incrementos mayores. Finalmente, con UNTIL
se le indica donde debe terminar.
IDENTIFICATION DIVISION.
PROGRAM-ID. Capitulo44.
DATA DIVISION.
FILE SECTION.
WORKING-STORAGE SECTION.
77 Numero PIC 999.
PROCEDURE DIVISION.
Inicio.
PERFORM Operacion VARYING Numero FROM 15 BY 1 UNTIL Numero > 25
STOP RUN.
Operacion.
DISPLAY Numero.
END PROGRAM Capitulo44.
015
016
017
018
019
020
021
022
023
024
025
IDENTIFICATION DIVISION.
PROGRAM-ID. Capitulo44.
DATA DIVISION.
FILE SECTION.
WORKING-STORAGE SECTION.
77 Numero1 PIC 999.
77 Numero2 PIC 999.
PROCEDURE DIVISION.
Inicio.
PERFORM MuestraNumero1 THROUGH MuestraNumero2
WITH TEST AFTER
VARYING Numero1 FROM 15 BY 5 UNTIL Numero2 > 100
STOP RUN.
MuestraNumero1.
DISPLAY Numero1.
MuestraNumero2.
DISPLAY Numero2.
ADD 10 TO Numero2.
END PROGRAM Capitulo44.
En el PERFORM
, con VARYING Numero1 FROM 15
, le asignamos a esa variable el valor de 15. Eso es lo que se muestra en la primera línea de la consola. Gracias al THROUGH
, cada vuelta, va a los dos párrafos (esto vimos anteriormente como funcionaba). Cuando muestra el valor de Numero2
, todavía es 0, ya que no se le ha asignado aún un valor. Se hará en la siguiente línea.
Con VARYING 15 BY 5
lo que hace, es ir incrementando el valor de 15 en 5 cada vuelta, por eso, el siguiente resultado en la consola, es 20. Cuando llega al segundo párrafo, vale 10. Así hasta que Numero2
valga 100.
Valor del párrafo 1: 015
Valor del párrafo 2: 000
Valor del párrafo 1: 020
Valor del párrafo 2: 010
Valor del párrafo 1: 025
Valor del párrafo 2: 020
Valor del párrafo 1: 030
Valor del párrafo 2: 030
Valor del párrafo 1: 035
Valor del párrafo 2: 040
Valor del párrafo 1: 040
Valor del párrafo 2: 050
Valor del párrafo 1: 045
Valor del párrafo 2: 060
Valor del párrafo 1: 050
Valor del párrafo 2: 070
Valor del párrafo 1: 055
Valor del párrafo 2: 080
Valor del párrafo 1: 060
Valor del párrafo 2: 090
Valor del párrafo 1: 065
Valor del párrafo 2: 100
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.