Apprendre COBOL – Les bases

Lire un fichier et compter les lignes

Dans ce cours très simple, on va :

C’est un exercice classique pour s’entraîner avec READ et une petite variable compteur.

Exemple de code : Compter les amis dans amis.txt

IDENTIFICATION DIVISION.
PROGRAM-ID. COMPTER-AMIS.

ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
    SELECT MES-AMIS ASSIGN TO "amis.txt"
           ORGANIZATION IS LINE SEQUENTIAL.

DATA DIVISION.
FILE SECTION.
FD  MES-AMIS.
01  LIGNE-AMIE          PIC X(40).

WORKING-STORAGE SECTION.
01  NOMBRE-AMIS         PIC 9(3)        VALUE ZERO.
01  FIN-FICHIER         PIC X           VALUE "N".

PROCEDURE DIVISION.
    OPEN INPUT MES-AMIS.

    PERFORM UNTIL FIN-FICHIER = "O"
        READ MES-AMIS
            AT END
                MOVE "O" TO FIN-FICHIER
            NOT AT END
                ADD 1 TO NOMBRE-AMIS
                DISPLAY LIGNE-AMIE
        END-READ
    END-PERFORM.

    CLOSE MES-AMIS.

    DISPLAY SPACE.
    DISPLAY "Nombre total d'amis : " NOMBRE-AMIS.
    DISPLAY "Lecture terminée.".
    STOP RUN.
        
Télécharger le code

Résultat attendu (si amis.txt contient 3 lignes)

Alice - Paris
Bob - Lyon
Charlie - Marseille

Nombre total d'amis : 003
Lecture terminée.
        

Explication très simple – les nouveautés

Ce qu’il faut retenir :
• Une variable compteur (ADD 1 TO ...) suffit pour compter
• On met le compteur à 0 au début (VALUE ZERO)
• On affiche le résultat après avoir fermé le fichier

Exercice facile : Modifie le programme pour qu’il affiche aussi le **nom du premier ami** qu’il lit (indice : utilise une variable pour garder la première ligne).

Prochain sujet simple : Lire le fichier et afficher **seulement les amis qui habitent à Paris** (premier filtre simple).