Les estructures de control imbricades són una part fonamental de la programació en COBOL, ja que permeten crear programes més complexos i flexibles. En aquest tema, aprendrem com utilitzar les estructures de control imbricades per gestionar la lògica del programa de manera eficient.
Continguts
- Introducció a les Estructures de Control Imbricades
- Sentències IF Imbricades
- Bucle Imbricat
- Exemples Pràctics
- Exercicis Pràctics
- Introducció a les Estructures de Control Imbricades
Les estructures de control imbricades són aquelles en què una estructura de control (com una sentència IF o un bucle) es troba dins d'una altra estructura de control. Això permet que el programa prengui decisions més complexes i realitzi operacions repetitives de manera més sofisticada.
- Sentències IF Imbricades
Les sentències IF imbricades permeten a un programa prendre decisions basades en múltiples condicions. Aquí teniu un exemple bàsic:
Exemple Pràctic
IDENTIFICATION DIVISION. PROGRAM-ID. NestedIfExample. DATA DIVISION. WORKING-STORAGE SECTION. 01 AGE PIC 99. 01 INCOME PIC 9(5). PROCEDURE DIVISION. MOVE 25 TO AGE. MOVE 30000 TO INCOME. IF AGE > 18 IF INCOME > 20000 DISPLAY 'Eligible for loan' ELSE DISPLAY 'Not eligible for loan due to low income' ELSE DISPLAY 'Not eligible for loan due to age' END-IF. STOP RUN.
Explicació
- Condició 1: Si l'edat és superior a 18.
- Condició 2: Si els ingressos són superiors a 20000.
- Accions: Mostra missatges diferents segons les condicions.
- Bucle Imbricat
Els bucles imbricats permeten repetir una sèrie d'operacions dins d'un altre bucle. Això és útil per a operacions que requereixen múltiples nivells de repetició, com ara processar una matriu bidimensional.
Exemple Pràctic
IDENTIFICATION DIVISION. PROGRAM-ID. NestedLoopExample. DATA DIVISION. WORKING-STORAGE SECTION. 01 I PIC 9 VALUE 0. 01 J PIC 9 VALUE 0. PROCEDURE DIVISION. PERFORM VARYING I FROM 1 BY 1 UNTIL I > 3 PERFORM VARYING J FROM 1 BY 1 UNTIL J > 3 DISPLAY 'I = ' I ' J = ' J END-PERFORM END-PERFORM. STOP RUN.
Explicació
- Bucle Extern: Itera la variable
I
de 1 a 3. - Bucle Intern: Itera la variable
J
de 1 a 3 per a cada valor deI
. - Acció: Mostra els valors de
I
iJ
en cada iteració.
- Exemples Pràctics
Exemple 1: Sentències IF Imbricades
IDENTIFICATION DIVISION. PROGRAM-ID. NestedIfExample2. DATA DIVISION. WORKING-STORAGE SECTION. 01 GRADE PIC 9 VALUE 0. PROCEDURE DIVISION. MOVE 85 TO GRADE. IF GRADE >= 90 DISPLAY 'Grade: A' ELSE IF GRADE >= 80 DISPLAY 'Grade: B' ELSE IF GRADE >= 70 DISPLAY 'Grade: C' ELSE DISPLAY 'Grade: F' END-IF END-IF END-IF. STOP RUN.
Exemple 2: Bucle Imbricat
IDENTIFICATION DIVISION. PROGRAM-ID. NestedLoopExample2. DATA DIVISION. WORKING-STORAGE SECTION. 01 ROW PIC 9 VALUE 0. 01 COL PIC 9 VALUE 0. PROCEDURE DIVISION. PERFORM VARYING ROW FROM 1 BY 1 UNTIL ROW > 5 PERFORM VARYING COL FROM 1 BY 1 UNTIL COL > 5 DISPLAY 'Row: ' ROW ' Col: ' COL END-PERFORM END-PERFORM. STOP RUN.
- Exercicis Pràctics
Exercici 1: Sentències IF Imbricades
Escriu un programa COBOL que determini si una persona és elegible per a un descompte basat en la seva edat i ingressos. Si l'edat és superior a 60 i els ingressos són inferiors a 25000, la persona és elegible per al descompte.
Solució
IDENTIFICATION DIVISION. PROGRAM-ID. DiscountEligibility. DATA DIVISION. WORKING-STORAGE SECTION. 01 AGE PIC 99. 01 INCOME PIC 9(5). PROCEDURE DIVISION. MOVE 65 TO AGE. MOVE 20000 TO INCOME. IF AGE > 60 IF INCOME < 25000 DISPLAY 'Eligible for discount' ELSE DISPLAY 'Not eligible for discount due to high income' ELSE DISPLAY 'Not eligible for discount due to age' END-IF. STOP RUN.
Exercici 2: Bucle Imbricat
Escriu un programa COBOL que mostri una taula de multiplicar de 1 a 5.
Solució
IDENTIFICATION DIVISION. PROGRAM-ID. MultiplicationTable. DATA DIVISION. WORKING-STORAGE SECTION. 01 I PIC 9 VALUE 0. 01 J PIC 9 VALUE 0. PROCEDURE DIVISION. PERFORM VARYING I FROM 1 BY 1 UNTIL I > 5 PERFORM VARYING J FROM 1 BY 1 UNTIL J > 5 DISPLAY I ' * ' J ' = ' I * J END-PERFORM END-PERFORM. STOP RUN.
Conclusió
Les estructures de control imbricades són essencials per a la programació en COBOL, ja que permeten gestionar la lògica del programa de manera més detallada i complexa. Amb la pràctica, podràs utilitzar aquestes estructures per crear programes més robustos i eficients. En el següent mòdul, explorarem com treballar amb dades en COBOL, incloent la gestió d'arxius i el processament de dades.
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