Accueil 1h - Accueil démo - Accueil 24H

Mode pas à pas : instruction READ

Dans cet exemple, nous allons simuler la lecture séquentielle de données à partir d’un fichier, ligne par ligne, à l’aide de l’instruction READ.

🔍 Explication ligne par ligne :

  • PERFORM UNTIL FIN-FICHIER = \"O\" : le programme va répéter les instructions tant que la variable FIN-FICHIER ne contient pas la lettre "O", ce qui signifie que le fichier n'est pas encore terminé.
  • READ FICHIER INTO NOM-LU : le programme essaie de lire un nom depuis le fichier et de le placer dans la variable NOM-LU.
  • AT END : si le fichier est vide (plus de noms à lire), on passe à cette partie. Le programme met la lettre "O" dans FIN-FICHIER, ce qui provoquera l'arrêt de la boucle.
  • NOT AT END : si un nom est bien lu, le programme continue et affiche ce nom.
  • DISPLAY \"Nom : \" NOM-LU : le programme affiche le nom qui vient d’être lu.
  • END-READ : cette ligne marque la fin de l'instruction de lecture.
  • STOP RUN : le programme s’arrête quand la boucle est terminée, c’est-à-dire quand tous les noms ont été lus.

Ce type de programme est très utile pour traiter une liste d'informations enregistrées dans un fichier, comme une liste de clients ou de produits.

IDENTIFICATION DIVISION.
PROGRAM-ID. DemoRead.

DATA DIVISION.
WORKING-STORAGE SECTION.
01 NOM-LU     PIC X(20).
01 FIN-FICHIER PIC X VALUE "N".

PROCEDURE DIVISION.
    PERFORM UNTIL FIN-FICHIER = "O"
        READ FICHIER INTO NOM-LU AT END
            MOVE "O" TO FIN-FICHIER
        NOT AT END
            DISPLAY "Nom : " NOM-LU
    END-READ.
    STOP RUN.
  
Cliquez sur « Suivant » pour simuler la lecture de chaque nom dans le fichier.

Données lues (simulation de fichier)

  • ALICE
  • BOB
  • CAROL

Valeurs en mémoire

NomValeur
NOM-LU-
FIN-FICHIERN