En aquest tema, aprendrem sobre l'ús de taules i arrays en COBOL. Les taules i arrays són estructures de dades que permeten emmagatzemar múltiples valors del mateix tipus de dades en una sola variable. Això és especialment útil per a la gestió de grans quantitats de dades de manera eficient.
Objectius
- Entendre què són les taules i arrays en COBOL.
- Aprendre a declarar i inicialitzar taules i arrays.
- Comprendre com accedir i manipular elements dins d'una taula o array.
- Realitzar operacions bàsiques amb taules i arrays.
Què són les Taules i Arrays?
En COBOL, una taula (o array) és una col·lecció d'elements de dades del mateix tipus, emmagatzemats en una estructura seqüencial. Cada element de la taula es pot accedir mitjançant un índex.
Declaració d'Arrays
Per declarar una taula en COBOL, utilitzem la clàusula OCCURS
. Aquesta clàusula especifica el nombre de vegades que un element de dades es repeteix.
Exemple de Declaració
En aquest exemple, EMPLOYEE-NAME
és una taula que pot contenir fins a 10 noms d'empleats, cadascun amb una longitud màxima de 20 caràcters.
Accés als Elements de la Taula
Per accedir a un element específic d'una taula, utilitzem un índex. Els índexs en COBOL comencen en 1.
Exemple d'Accés
PROCEDURE DIVISION. DISPLAY EMPLOYEE-NAME (1). MOVE "John Doe" TO EMPLOYEE-NAME (1). DISPLAY EMPLOYEE-NAME (1).
Aquest codi mostra el primer element de la taula EMPLOYEE-NAME
, assigna el valor "John Doe" a aquest element i el torna a mostrar.
Inicialització de Taules
Les taules es poden inicialitzar en el moment de la seva declaració o durant l'execució del programa.
Inicialització en la Declaració
DATA DIVISION. WORKING-STORAGE SECTION. 01 EMPLOYEES. 05 EMPLOYEE-NAME PIC X(20) OCCURS 10 TIMES VALUE "UNKNOWN".
En aquest exemple, tots els elements de la taula EMPLOYEE-NAME
s'inicialitzen amb el valor "UNKNOWN".
Inicialització durant l'Execució
PROCEDURE DIVISION. PERFORM VARYING I FROM 1 BY 1 UNTIL I > 10 MOVE "UNKNOWN" TO EMPLOYEE-NAME (I) END-PERFORM.
Aquest codi inicialitza cada element de la taula EMPLOYEE-NAME
amb el valor "UNKNOWN" utilitzant un bucle PERFORM
.
Manipulació d'Elements de la Taula
Podem realitzar diverses operacions amb els elements d'una taula, com ara assignar valors, sumar elements, buscar elements específics, etc.
Exemple de Suma d'Elements
DATA DIVISION. WORKING-STORAGE SECTION. 01 NUMBERS. 05 NUMBER PIC 9(4) OCCURS 5 TIMES. 01 TOTAL PIC 9(5) VALUE 0. PROCEDURE DIVISION. MOVE 10 TO NUMBER (1). MOVE 20 TO NUMBER (2). MOVE 30 TO NUMBER (3). MOVE 40 TO NUMBER (4). MOVE 50 TO NUMBER (5). PERFORM VARYING I FROM 1 BY 1 UNTIL I > 5 ADD NUMBER (I) TO TOTAL END-PERFORM. DISPLAY "TOTAL: " TOTAL.
Aquest codi assigna valors a una taula NUMBER
i després suma tots els elements de la taula, emmagatzemant el resultat en la variable TOTAL
.
Exercicis Pràctics
Exercici 1: Declaració i Inicialització
- Declara una taula
STUDENT-NAMES
que pugui contenir fins a 15 noms d'estudiants, cadascun amb una longitud màxima de 30 caràcters. - Inicialitza tots els elements de la taula amb el valor "NOT ASSIGNED".
Solució
DATA DIVISION. WORKING-STORAGE SECTION. 01 STUDENT-NAMES. 05 STUDENT-NAME PIC X(30) OCCURS 15 TIMES VALUE "NOT ASSIGNED".
Exercici 2: Accés i Manipulació
- Declara una taula
GRADES
que pugui contenir fins a 5 notes, cadascuna amb un valor màxim de 100. - Assigna els valors 85, 90, 78, 92 i 88 als elements de la taula.
- Calcula la mitjana de les notes i mostra el resultat.
Solució
DATA DIVISION. WORKING-STORAGE SECTION. 01 GRADES. 05 GRADE PIC 9(3) OCCURS 5 TIMES. 01 TOTAL PIC 9(4) VALUE 0. 01 AVERAGE PIC 9(3) VALUE 0. PROCEDURE DIVISION. MOVE 85 TO GRADE (1). MOVE 90 TO GRADE (2). MOVE 78 TO GRADE (3). MOVE 92 TO GRADE (4). MOVE 88 TO GRADE (5). PERFORM VARYING I FROM 1 BY 1 UNTIL I > 5 ADD GRADE (I) TO TOTAL END-PERFORM. DIVIDE TOTAL BY 5 GIVING AVERAGE. DISPLAY "AVERAGE GRADE: " AVERAGE.
Resum
En aquest tema, hem après què són les taules i arrays en COBOL, com declarar-les, inicialitzar-les i accedir als seus elements. També hem vist exemples pràctics de manipulació d'elements dins d'una taula. Les taules i arrays són eines poderoses per gestionar grans quantitats de dades de manera eficient en els programes 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