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
