Apprendre COBOL – Les bases

PERFORM – Les boucles

En COBOL, les boucles sont principalement gérées par le verbe PERFORM. Il existe plusieurs variantes : PERFORM UNTIL, PERFORM VARYING, PERFORM paragraphe… C’est l’instruction la plus utilisée pour répéter un bloc de code ou appeler une section/procedure plusieurs fois.

Exemple de code : Table de multiplication + compteur

IDENTIFICATION DIVISION.
PROGRAM-ID. BOUCLES-PERFORM.

DATA DIVISION.
WORKING-STORAGE SECTION.
01  NOMBRE                PIC 9(2)    VALUE 7.
01  COMPTEUR              PIC 9(2)    VALUE ZERO.
01  RESULTAT              PIC 9(3).
01  I                     PIC 9(2).

PROCEDURE DIVISION.
    DISPLAY "Table de multiplication de " NOMBRE ":".

    PERFORM VARYING I FROM 1 BY 1 UNTIL I > 10
        COMPUTE RESULTAT = NOMBRE * I
        DISPLAY NOMBRE " × " I " = " RESULTAT
    END-PERFORM.

    DISPLAY SPACE.
    DISPLAY "Comptons de 1 à 5 avec PERFORM UNTIL :".

    MOVE 1 TO COMPTEUR.
    PERFORM AFFICHER-COMPTEUR UNTIL COMPTEUR > 5.

    STOP RUN.

AFFICHER-COMPTEUR.
    DISPLAY "Compteur = " COMPTEUR
    ADD 1 TO COMPTEUR
    .
        
Télécharger le code

Résultat attendu à l'exécution

Table de multiplication de 07:
07 × 01 = 007
07 × 02 = 014
07 × 03 = 021
07 × 04 = 028
07 × 05 = 035
07 × 06 = 042
07 × 07 = 049
07 × 08 = 056
07 × 09 = 063
07 × 10 = 070

Comptons de 1 à 5 avec PERFORM UNTIL :
Compteur = 01
Compteur = 02
Compteur = 03
Compteur = 04
Compteur = 05
        

Explication détaillée – focus sur les variantes de PERFORM

Points clés pour débutants :
• UNTIL teste avant → si condition vraie dès le départ → 0 exécution
• Pour une boucle qui s’exécute au moins une fois → utiliser PERFORM … WITH TEST AFTER (variante moins courante)
• On peut imbriquer des PERFORM
• Évitez les boucles infinies : assurez-vous que la condition finira par devenir vraie
• PERFORM paragraphe est très utilisé pour structurer le code (comme des fonctions simples)

Prochain sujet : Fichiers séquentiels – SELECT, FD, OPEN, READ, WRITE, CLOSE.