En aquest tema, aprendrem com gestionar cadenes de text en COBOL. Les cadenes són una part fonamental de molts programes, ja que sovint necessitem manipular text per a diverses aplicacions, com ara la generació de informes, la manipulació de dades d'entrada i sortida, i la comunicació amb altres sistemes.
Conceptes Clau
- Declaració de Cadenes: Com definir cadenes en COBOL.
- Operacions Bàsiques: Com concatenar, truncar i comparar cadenes.
- Funcions Intrínseques: Funcions predefinides per a la manipulació de cadenes.
- Exemples Pràctics: Codi d'exemple per il·lustrar l'ús de cadenes.
- Exercicis Pràctics: Exercicis per reforçar els conceptes apresos.
Declaració de Cadenes
En COBOL, les cadenes es declaren utilitzant el tipus de dades PIC X(n)
, on n
és la longitud de la cadena.
En aquest exemple, WS-NAME
és una cadena de 20 caràcters i WS-ADDRESS
és una cadena de 50 caràcters.
Operacions Bàsiques
Concatenació de Cadenes
Per concatenar cadenes en COBOL, utilitzem l'operació STRING
.
Truncament de Cadenes
Per truncar una cadena, podem utilitzar l'operació UNSTRING
.
Comparació de Cadenes
Per comparar cadenes, utilitzem l'operació IF
.
Funcions Intrínseques
COBOL proporciona diverses funcions intrínseques per a la manipulació de cadenes. Algunes de les més comunes són:
FUNCTION LENGTH
: Retorna la longitud d'una cadena.FUNCTION CONCATENATE
: Concatena dues o més cadenes.FUNCTION SUBSTRING
: Retorna una subcadena d'una cadena.
Exemple d'Ús de Funcions Intrínseques
MOVE "JOHN DOE" TO WS-NAME. MOVE FUNCTION LENGTH(WS-NAME) TO WS-NAME-LENGTH. DISPLAY "Length of WS-NAME: " WS-NAME-LENGTH. MOVE FUNCTION SUBSTRING(WS-NAME FROM 1 FOR 4) TO WS-FIRST-NAME. DISPLAY "First name: " WS-FIRST-NAME.
Exemples Pràctics
Exemple 1: Concatenació de Cadenes
IDENTIFICATION DIVISION. PROGRAM-ID. StringExample. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-NAME PIC X(20) VALUE "JOHN". 01 WS-SURNAME PIC X(20) VALUE "DOE". 01 WS-FULL-NAME PIC X(40). PROCEDURE DIVISION. STRING WS-NAME DELIMITED BY SPACE " " DELIMITED BY SIZE WS-SURNAME DELIMITED BY SPACE INTO WS-FULL-NAME. DISPLAY "Full Name: " WS-FULL-NAME. STOP RUN.
Exemple 2: Truncament de Cadenes
IDENTIFICATION DIVISION. PROGRAM-ID. TruncateExample. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-FULL-NAME PIC X(40) VALUE "JOHN DOE". 01 WS-FIRST-NAME PIC X(20). 01 WS-LAST-NAME PIC X(20). PROCEDURE DIVISION. UNSTRING WS-FULL-NAME DELIMITED BY SPACE INTO WS-FIRST-NAME, WS-LAST-NAME. DISPLAY "First Name: " WS-FIRST-NAME. DISPLAY "Last Name: " WS-LAST-NAME. STOP RUN.
Exercicis Pràctics
Exercici 1: Concatenació de Cadenes
Descripció: Escriu un programa COBOL que llegeixi dos noms de l'usuari i els concateni en una sola cadena.
Solució:
IDENTIFICATION DIVISION. PROGRAM-ID. ConcatExercise. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-FIRST-NAME PIC X(20). 01 WS-LAST-NAME PIC X(20). 01 WS-FULL-NAME PIC X(40). PROCEDURE DIVISION. DISPLAY "Enter first name: ". ACCEPT WS-FIRST-NAME. DISPLAY "Enter last name: ". ACCEPT WS-LAST-NAME. STRING WS-FIRST-NAME DELIMITED BY SPACE " " DELIMITED BY SIZE WS-LAST-NAME DELIMITED BY SPACE INTO WS-FULL-NAME. DISPLAY "Full Name: " WS-FULL-NAME. STOP RUN.
Exercici 2: Truncament de Cadenes
Descripció: Escriu un programa COBOL que llegeixi un nom complet de l'usuari i el separi en nom i cognom.
Solució:
IDENTIFICATION DIVISION. PROGRAM-ID. TruncateExercise. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-FULL-NAME PIC X(40). 01 WS-FIRST-NAME PIC X(20). 01 WS-LAST-NAME PIC X(20). PROCEDURE DIVISION. DISPLAY "Enter full name: ". ACCEPT WS-FULL-NAME. UNSTRING WS-FULL-NAME DELIMITED BY SPACE INTO WS-FIRST-NAME, WS-LAST-NAME. DISPLAY "First Name: " WS-FIRST-NAME. DISPLAY "Last Name: " WS-LAST-NAME. STOP RUN.
Conclusió
En aquesta secció, hem après com gestionar cadenes en COBOL, incloent-hi la declaració, la concatenació, el truncament i la comparació de cadenes, així com l'ús de funcions intrínseques per a la manipulació de cadenes. També hem vist exemples pràctics i exercicis per reforçar els conceptes apresos. Amb aquests coneixements, estàs preparat per manipular cadenes de text en els teus programes COBOL de manera efectiva.
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