Exercice 5 : else

Micro-exercice

Objectif : utiliser ELSE pour gérer le “sinon”. Vous allez écrire un test simple : si un nombre est supérieur ou égal à un seuil, afficher un message, sinon afficher un autre message. Cet exercice vous apprend à éviter plusieurs IF séparés et à structurer un choix clair.

Ce que vous pratiquez

  • Écrire un bloc IF ... ELSE ... END-IF .
  • Comparer une valeur saisie à un seuil.
  • Afficher un résultat clair et lisible.

Repère sur les colonnes

  • Zone A : colonnes 8 à 11 (7 espaces pour divisions/déclarations).
  • Zone B : colonnes 12 à 72 (11 espaces pour instructions).

Le bloc <pre> conserve les espaces : l’alignement est stable.

Exemple minimal COBOL Format fixe
Télécharger le code
       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”.

À retenir : 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 :

  1. Changez le seuil (ex : 21) et adaptez le message si nécessaire.
  2. Ajoutez un second test : si l’âge est 00, afficher “Valeur non valide” (avant le test majeur/mineur).
  3. Ajoutez une variable texte WS-NOM et 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.

Conseil : testez au moins 3 valeurs (17, 18, 19) pour vérifier le basculement exact autour du seuil.