IDENTIFICATION DIVISION.
PROGRAM-ID. EXO-ELSE-05.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-SEUIL PIC 99 VALUE 18.
01 WS-AGE PIC 99 VALUE 00.
PROCEDURE DIVISION.
DISPLAY "Entrez un age (00 a 99) : "
ACCEPT WS-AGE
IF WS-AGE >= WS-SEUIL
DISPLAY "Statut : majeur."
ELSE
DISPLAY "Statut : mineur."
END-IF
STOP RUN.
Ce que fait le programme
1) Le programme demande un âge.
2) Il compare l’âge au seuil 18.
3) Il affiche “majeur” si la condition est vraie, sinon “mineur”.
ELSE est le chemin “sinon”.
Un seul bloc IF peut gérer deux résultats, ce qui rend le code plus court et plus clair.
Votre micro-exercice
Faites ces 3 modifications :
- Changez le seuil (ex : 21) et adaptez le message si nécessaire.
- Ajoutez un second test : si l’âge est 00, afficher “Valeur non valide” (avant le test majeur/mineur).
- Ajoutez une variable texte
WS-NOMet affichez “Bonjour NOM” avant le résultat.
Erreur fréquente à éviter
Oublier END-IF ou placer ELSE au mauvais niveau
dans un code plus long. Au début, gardez un format simple : un test, un “sinon”, une fermeture.
Autre piège : écrire plusieurs tests séparés au lieu d’un seul bloc.
Exemple : trois IF pour “>”, “=”, “<”.
Pour deux chemins (“oui/non”), ELSE est le meilleur réflexe.