IDENTIFICATION DIVISION.
PROGRAM-ID. EXO-IF-20.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-NOMBRE PIC 99 VALUE 00.
PROCEDURE DIVISION.
DISPLAY "Entrez un nombre (00 a 99) : "
ACCEPT WS-NOMBRE
IF WS-NOMBRE >= 50
DISPLAY "Nombre grand (>= 50)."
ELSE
DISPLAY "Nombre petit (< 50)."
END-IF
STOP RUN.
Lecture simple
IF WS-NOMBRE >= 50 teste une condition. Si c’est vrai, on affiche “grand”. Sinon, on passe dans ELSE et on affiche “petit”. END-IF ferme proprement le bloc.
Votre micro-exercice
Faites ces 3 modifications :
- Ajoutez un second test : si le nombre est exactement 50, afficher “Pile 50”.
- Ajoutez un test : si le nombre est 00, afficher “Valeur nulle”.
- Affichez aussi la valeur saisie dans un message (ex : “Vous avez saisi : ...”).
Erreur fréquente à éviter
Comparer du texte et du numérique sans le vouloir. Ici, WS-NOMBRE est bien numérique (PIC 99), donc la comparaison est logique. Si vous aviez utilisé PIC X(2), vous feriez une comparaison “alphabetique” et pas un vrai test numérique.
Autre piège : oublier END-IF quand il y a plusieurs IF imbriqués. Le code devient ambigu, et vous perdez du temps en débogage.