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
COUNTER
i el mostra. - PERFORM UNTIL: Executa
INCREMENT-COUNTER
fins queCOUNTER
sigui 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-NUMBER
mentreI
varia 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
COUNTER
i el mostra. - PERFORM TIMES: Executa
INCREMENT-COUNTER
5 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