Exercice 7 : evaluate

Micro-exercice

Objectif : utiliser EVALUATE pour gérer plusieurs cas, comme un “menu”. Plutôt que d’empiler plusieurs IF, vous allez écrire une structure lisible : un choix, plusieurs branches, et un cas “par défaut”.

Ce que vous pratiquez

  • Saisir un code simple (1, 2, 3).
  • Traiter plusieurs cas avec WHEN.
  • Gérer l’erreur avec WHEN OTHER.

Repère sur les colonnes

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

Le code est affiché dans <pre> pour conserver l’alignement.

Exemple minimal COBOL Format fixe
Télécharger le code
       IDENTIFICATION DIVISION.
       PROGRAM-ID. EXO-EVALUATE-07.

       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  WS-CHOIX             PIC 9 VALUE 0.

       PROCEDURE DIVISION.
           DISPLAY "Choisissez une option (1, 2, 3) : "
           ACCEPT WS-CHOIX

           EVALUATE WS-CHOIX
               WHEN 1
                   DISPLAY "Option 1 : afficher un message."
               WHEN 2
                   DISPLAY "Option 2 : traiter un calcul."
               WHEN 3
                   DISPLAY "Option 3 : terminer le programme."
               WHEN OTHER
                   DISPLAY "Choix invalide."
           END-EVALUATE

           STOP RUN.

Lecture simple

EVALUATE examine une valeur (ici WS-CHOIX).
WHEN définit un cas précis (1, 2, 3).
WHEN OTHER est le cas “par défaut” : tout ce qui ne correspond pas.
END-EVALUATE ferme la structure, comme END-IF ferme un test.
À retenir : EVALUATE est souvent plus lisible que plusieurs IF quand vous avez plus de deux cas.

Votre micro-exercice

Faites ces 3 modifications :

  1. Ajoutez un WHEN 4 qui affiche “Option 4 : aide”.
  2. Dans WHEN 3, remplacez le message par “Option 3 : au revoir”.
  3. Après END-EVALUATE, ajoutez un DISPLAY : “Fin de traitement.”

Erreur fréquente à éviter

Oublier WHEN OTHER. Au début, on pense surtout aux cas “normaux”, mais en production il faut toujours prévoir l’entrée invalide.

Autre piège : saisir autre chose qu’un chiffre dans une variable PIC 9. Selon l’environnement, cela peut produire un résultat inattendu. Pour l’apprentissage, gardez des saisies simples.

Conseil : testez avec 1, 2, 3 et aussi 9 pour vérifier le passage par WHEN OTHER.