En aquest tema, aprendrem sobre les construccions de bucle en COBOL, que són essencials per a la repetició de blocs de codi. Els bucles permeten executar una sèrie d'instruccions múltiples vegades fins que es compleixi una condició específica. COBOL ofereix diverses maneres de crear bucles, cadascuna amb les seves pròpies característiques i usos.
Tipus de Bucles en COBOL
- PERFORM UNTIL
- PERFORM VARYING
- PERFORM TIMES
- PERFORM UNTIL
El bucle PERFORM UNTIL executa un bloc de codi repetidament fins que una condició es compleixi.
Sintaxi
Exemple
IDENTIFICATION DIVISION.
PROGRAM-ID. PerformUntilExample.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 COUNTER PIC 9(2) VALUE 0.
PROCEDURE DIVISION.
MAIN-PARA.
PERFORM INCREMENT-COUNTER
UNTIL COUNTER > 10
DISPLAY "Final value of COUNTER: " COUNTER
STOP RUN.
INCREMENT-COUNTER.
ADD 1 TO COUNTER
DISPLAY "COUNTER: " COUNTER.Explicació
- COUNTER: Una variable que s'incrementa en cada iteració.
- INCREMENT-COUNTER: Un paràgraf que incrementa el valor de
COUNTERi el mostra. - PERFORM UNTIL: Executa
INCREMENT-COUNTERfins queCOUNTERsigui major que 10.
- PERFORM VARYING
El bucle PERFORM VARYING és similar a un bucle for en altres llenguatges de programació. Permet variar una variable des d'un valor inicial fins a un valor final, amb un increment específic.
Sintaxi
Exemple
IDENTIFICATION DIVISION.
PROGRAM-ID. PerformVaryingExample.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 I PIC 9(2).
PROCEDURE DIVISION.
MAIN-PARA.
PERFORM DISPLAY-NUMBER
VARYING I FROM 1 BY 1
UNTIL I > 10
STOP RUN.
DISPLAY-NUMBER.
DISPLAY "I: " I.Explicació
- I: Una variable que varia des de 1 fins a 10.
- DISPLAY-NUMBER: Un paràgraf que mostra el valor de
I. - PERFORM VARYING: Executa
DISPLAY-NUMBERmentreIvaria de 1 a 10.
- PERFORM TIMES
El bucle PERFORM TIMES executa un bloc de codi un nombre específic de vegades.
Sintaxi
Exemple
IDENTIFICATION DIVISION.
PROGRAM-ID. PerformTimesExample.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 COUNTER PIC 9(2).
PROCEDURE DIVISION.
MAIN-PARA.
PERFORM INCREMENT-COUNTER 5 TIMES
DISPLAY "Final value of COUNTER: " COUNTER
STOP RUN.
INCREMENT-COUNTER.
ADD 1 TO COUNTER
DISPLAY "COUNTER: " COUNTER.Explicació
- COUNTER: Una variable que s'incrementa en cada iteració.
- INCREMENT-COUNTER: Un paràgraf que incrementa el valor de
COUNTERi el mostra. - PERFORM TIMES: Executa
INCREMENT-COUNTER5 vegades.
Exercicis Pràctics
Exercici 1: Utilitzant PERFORM UNTIL
Escriu un programa COBOL que mostri els nombres de 1 a 20 utilitzant un bucle PERFORM UNTIL.
Solució
IDENTIFICATION DIVISION.
PROGRAM-ID. PerformUntilExercise.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 COUNTER PIC 9(2) VALUE 1.
PROCEDURE DIVISION.
MAIN-PARA.
PERFORM DISPLAY-NUMBER
UNTIL COUNTER > 20
STOP RUN.
DISPLAY-NUMBER.
DISPLAY "Number: " COUNTER
ADD 1 TO COUNTER.Exercici 2: Utilitzant PERFORM VARYING
Escriu un programa COBOL que mostri els nombres parells de 2 a 20 utilitzant un bucle PERFORM VARYING.
Solució
IDENTIFICATION DIVISION.
PROGRAM-ID. PerformVaryingExercise.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 I PIC 9(2).
PROCEDURE DIVISION.
MAIN-PARA.
PERFORM DISPLAY-EVEN-NUMBER
VARYING I FROM 2 BY 2
UNTIL I > 20
STOP RUN.
DISPLAY-EVEN-NUMBER.
DISPLAY "Even Number: " I.Exercici 3: Utilitzant PERFORM TIMES
Escriu un programa COBOL que mostri "Hello, World!" 10 vegades utilitzant un bucle PERFORM TIMES.
Solució
IDENTIFICATION DIVISION.
PROGRAM-ID. PerformTimesExercise.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 COUNTER PIC 9(2).
PROCEDURE DIVISION.
MAIN-PARA.
PERFORM DISPLAY-MESSAGE 10 TIMES
STOP RUN.
DISPLAY-MESSAGE.
DISPLAY "Hello, World!".Resum
En aquesta secció, hem après sobre les construccions de bucle en COBOL, incloent PERFORM UNTIL, PERFORM VARYING i PERFORM TIMES. Hem vist exemples pràctics de cada tipus de bucle i hem practicat amb exercicis per reforçar els conceptes apresos. Els bucles són una eina poderosa per a la repetició de tasques en els programes COBOL, i comprendre com utilitzar-los eficientment és crucial per a qualsevol programador COBOL.
Curs de Programació COBOL
Mòdul 1: Introducció al COBOL
- Què és el COBOL?
- Història del COBOL
- Configuració de l'Entorn COBOL
- Estructura Bàsica d'un Programa COBOL
Mòdul 2: Sintaxi Bàsica del COBOL i Tipus de Dades
Mòdul 3: Estructures de Control
Mòdul 4: Treballant amb Dades
- Gestió d'Arxius en COBOL
- Processament d'Arxius Seqüencials
- Processament d'Arxius Indexats
- Processament d'Arxius Relatius
Mòdul 5: Gestió Avançada de Dades
Mòdul 6: Subprogrames i Programació Modular
Mòdul 7: Gestió d'Errors i Depuració
Mòdul 8: COBOL i Bases de Dades
Mòdul 9: Temes Avançats
- COBOL Orientat a Objectes
- COBOL i Serveis Web
- Optimització del Rendiment
- Millors Pràctiques en Programació COBOL
