On décrémente I si la note est invalide, pour que la boucle recommence à la même itération.
Ce cas pratique a pour but de consolider les acquis du module 6. Nous allons écrire un programme COBOL qui :
PERFORM , IF , ADD , COMPUTE , et les opérateurs logiques.
01 NB-NOTES PIC 9(2) VALUE 5.
01 NOTE PIC 99 VALUE 0.
01 SOMME PIC 999 VALUE 0.
01 MOYENNE PIC 99V99.
01 I PIC 9(2) VALUE 1.
PERFORM LIRE-NOTE
VARYING I FROM 1 BY 1
UNTIL I > NB-NOTES.
LIRE-NOTE.
DISPLAY "Entrez la note n° " I " (0 à 20): ".
ACCEPT NOTE.
IF NOTE < 0 OR NOTE > 20
DISPLAY "Note invalide, recommencez."
SUBTRACT 1 FROM I
ELSE
ADD NOTE TO SOMME
END-IF.
On décrémente I si la note est invalide, pour que la boucle recommence à la même itération.
COMPUTE MOYENNE = SOMME / NB-NOTES.
DISPLAY "La moyenne est : " MOYENNE.
PERFORM VARYING pour contrôler les itérations IF et OR COMPUTE DISPLAY
Ce cas vous montre comment structurer un traitement logique, itératif et conditionnel de manière professionnelle en COBOL . Il s'agit d'une base idéale pour des traitements plus avancés : saisies contrôlées, traitement de listes, calculs statistiques...