PERFORM VARYING y PERFORM UNTIL – Bucles con COBOL
En COBOL, los bucles desempeñan un papel crucial en el control de flujo del programa, permitiendo la repetición de un conjunto de instrucciones hasta que se cumpla una condición específica. El comando PERFORM VARYING se utiliza para establecer un bucle controlado por una variable de iteración, que se incrementa o decrementa en cada iteración. Esto brinda flexibilidad para ejecutar un bloque de código un número definido de veces, según el valor de la variable de control. Por otro lado, el comando PERFORM UNTIL permite la ejecución repetida de un bloque de código hasta que se cumple una condición específica, lo que resulta útil cuando se desea repetir un conjunto de instrucciones hasta que se alcance un estado deseado. Estos dos enfoques, PERFORM VARYING y PERFORM UNTIL, ofrecen herramientas poderosas para la implementación efectiva de bucles en COBOL, facilitando la creación de programas estructurados y eficientes.
PERFORM VARYING
En COBOL, el bucle PERFORM VARYING
se utiliza para realizar una serie de acciones repetitivas, donde una variable de control se incrementa o decrementa en cada iteración. Aquí te presento un ejemplo sencillo de un bucle PERFORM VARYING
:
IDENTIFICATION DIVISION.
PROGRAM-ID. BucleEjemplo.
AUTHOR. TuNombre.
DATE-WRITTEN. DD/MM/AAAA.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 Contador PIC 9(3) VALUE 1.
PROCEDURE DIVISION.
DISPLAY 'Comienzo del bucle'.
PERFORM VARYING Contador FROM 1 BY 1 UNTIL Contador > 5
DISPLAY 'Iteración ' Contador
END-PERFORM.
DISPLAY 'Fin del bucle'.
STOP RUN.
WORKING – STORAGE SECTION
Contador
: Variable de control del bucle, inicializada en 1.
PROCEDURE DIVISION
PERFORM VARYING Contador FROM 1 BY 1 UNTIL Contador > 5
: Inicia el buclePERFORM VARYING
que ejecutará el bloque de código hasta que la condiciónUNTIL
se cumpla.FROM 1 BY 1
: Indica que la variable de control (Contador
) comienza en 1 y se incrementa en 1 en cada iteración.UNTIL Contador > 5
: Es la condición de finalización del bucle.
DISPLAY 'Iteración ' Contador
: Muestra en la consola el número de iteración en cada ciclo.END-PERFORM
: Marca el final del bucle.DISPLAY 'Fin del bucle'
: Muestra un mensaje indicando que el bucle ha finalizado.STOP RUN
: Indica el final del programa.
En este ejemplo, el bucle PERFORM VARYING
se ejecutará cinco veces, mostrando el mensaje «Iteración» seguido del número de iteración. Puedes ajustar la condición UNTIL
según tus necesidades y la lógica específica de tu programa.
PERFORM UNTIL
Como programador COBOL, se podría diseñar un programa simple que utilice el comando PERFORM UNTIL
para realizar una tarea específica. Supongamos que se desea crear un programa que imprima los números del 1 al 10. A continuación se muestra un ejemplo de cómo se podría estructurar el programa en COBOL utilizando PERFORM UNTIL
:
IDENTIFICATION DIVISION.
PROGRAM-ID. ProgramaEjemplo.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 Contador PIC 9(2) VALUE 1.
PROCEDURE DIVISION.
DISPLAY "Imprimiendo números del 1 al 10:".
PERFORM UNTIL Contador > 10
DISPLAY Contador
ADD 1 TO Contador
END-PERFORM.
DISPLAY "Fin del programa.".
STOP RUN.
En este programa de ejemplo, se ha declarado una variable llamada Contador
que se utiliza para llevar un seguimiento de los números que se están imprimiendo. La sección PROCEDURE DIVISION
contiene un bucle PERFORM UNTIL
que imprimirá el valor del contador y luego lo incrementará en cada iteración. El bucle continuará hasta que la condición Contador > 10
sea verdadera. Al ejecutar este programa, deberías obtener la impresión de los números del 1 al 10 en la salida.
Ten en cuenta que este es solo un ejemplo básico para ilustrar el uso de PERFORM UNTIL
. En la práctica, podrías utilizar este comando para realizar tareas más complejas según las necesidades específicas de tu programa COBOL.
Diferencias entre PERFORM VARYING y PERFORM UNTIL
El comando PERFORM VARYING
y el comando PERFORM UNTIL
en COBOL son estructuras de control de bucles, pero difieren en cómo controlan la repetición de un bloque de código.
PERFORM VARYING
- Uso: Se utiliza para realizar bucles basados en una variable de control que cambia su valor en cada iteración.
PERFORM [nombre-de-la-sección]
VARYING [nombre-de-la-variable] FROM [valor-inicial]
BY [incremento-o-decremento]
UNTIL [condición-de-fin].
- Descripción: En el ejemplo, el bucle se ejecuta mientras la variable
Contador
sea menor o igual a 10, incrementándose en 1 en cada iteración.
PERFORM UNTIL
- Uso: Se utiliza para realizar bucles basados en una condición que debe evaluarse como verdadera para continuar ejecutando el bloque de código.
PERFORM [nombre-de-la-sección]
UNTIL [condición-de-fin].
- Descripción: En el ejemplo, el bucle se ejecuta hasta que la condición
Contador > 10
sea verdadera, incrementándose en 1 en cada iteración.
En resumen, PERFORM VARYING
se utiliza cuando se desea realizar un bucle basado en el cambio de valor de una variable, mientras que PERFORM UNTIL
se utiliza cuando se desea realizar un bucle basado en una condición específica que debe evaluarse como verdadera para continuar. La elección entre ellos depende de la lógica específica que estés implementando en tu programa COBOL.
COBOL: Un muerto muy vivo

Este libro es una guía completa para entender por qué COBOL sigue siendo relevante en la era actual. Cubre desde los conceptos básicos hasta técnicas avanzadas, destacando cómo este lenguaje sigue siendo fundamental en el desarrollo de sistemas empresariales y financieros.
Temas principales
- Fundamentos de COBOL
- Estructura y sintaxis
- Casos de uso actuales en la industria
- Consejos para escribir código limpio y eficiente
Es ideal tanto para principiantes como para programadores experimentados que desean actualizar sus habilidades en este robusto lenguaje.