Lecciones del módulo (2/2)
Bucles e Iteraciones
Los bucles y las estructuras iterativas en COBOL no se definen con palabras clave como for o while, sino que hacen uso de variaciones sintácticas de la misma instrucción PERFORM.
Bucles numéricos fijos (PERFORM TIMES)
Si necesitamos repetir la ejecución de un párrafo un número fijo de veces, podemos añadir el modificador TIMES al comando PERFORM.
PERFORM ELABORA-RIGA 10 TIMES.
En este caso, el compilatore ejecutará el párrafo ELABORA-RIGA exactamente 10 veces, reanudando después la ejecución lineal del código.
Bucles condicionales (PERFORM UNTIL)
Para iterar hasta que una determinada condición se cumpla (equivalente a un bucle while invertido), usamos la instrucción PERFORM ... UNTIL.
PERFORM INCR-CONTATORE UNTIL WS-COUNTER > 5.
PROCEDURE DIVISION.
MAIN-PROCEDURE.
PERFORM PROCESS-ITEM UNTIL WS-COUNTER > 3.
STOP RUN.
PROCESS-ITEM.
DISPLAY "Counter: " WS-COUNTER.
ADD 1 TO WS-COUNTER.
Pruébalo tú mismo
Escribe una instrucción dentro de MAIN-PROCEDURE para ejecutar el párrafo PROCESS-ITEM exactamente 10 veces.
Mostrar pista
Usa la sintaxis: PERFORM PROCESS-ITEM 10 TIMES.
Solución disponible después de 3 intentos
Ejecuta repetidamente el párrafo PROCESS-STEP hasta que la variable WS-COUNTER sea mayor que 5.
Mostrar pista
Usa la sintaxis: PERFORM PROCESS-STEP UNTIL WS-COUNTER > 5.
Solución disponible después de 3 intentos