Exercice 13 : divide

Micro-exercice

Objectif : utiliser DIVIDE pour effectuer une division et récupérer à la fois le quotient et le reste. C’est un cas très courant : répartir une quantité, vérifier un partage exact, ou comprendre pourquoi “ça ne tombe pas juste”.

Ce que vous pratiquez

  • Saisir deux nombres : dividende et diviseur.
  • Calculer un quotient avec GIVING.
  • Récupérer le reste avec REMAINDER.

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 en <pre> : l’alignement reste fidèle sur mobile.

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

       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  WS-NOMBRE            PIC 9999 VALUE 0000.
       01  WS-DIVISEUR          PIC 99   VALUE 00.
       01  WS-QUOTIENT          PIC 9999 VALUE 0000.
       01  WS-RESTE             PIC 99   VALUE 00.

       PROCEDURE DIVISION.
           DISPLAY "Entrez un nombre (0000 a 9999) : "
           ACCEPT WS-NOMBRE
           DISPLAY "Entrez un diviseur (01 a 99) : "
           ACCEPT WS-DIVISEUR

           DIVIDE WS-NOMBRE BY WS-DIVISEUR
               GIVING WS-QUOTIENT
               REMAINDER WS-RESTE

           DISPLAY "Quotient : " WS-QUOTIENT
           DISPLAY "Reste    : " WS-RESTE
           STOP RUN.

Lecture simple

DIVIDE A BY B GIVING Q REMAINDER R signifie : on divise A par B, on met le quotient dans Q, et le reste dans R. C’est très pratique pour les divisions qui ne tombent pas juste.

À retenir : le diviseur ne doit jamais être 00. Dans un vrai programme, on vérifie toujours ce point avant d’exécuter la division.

Votre micro-exercice

Faites ces 3 modifications :

  1. Ajoutez un test : si le diviseur vaut 00, afficher “Division impossible” et ne pas calculer.
  2. Ajoutez un test : si le reste vaut 00, afficher “Division exacte”.
  3. Testez avec 100 / 10 (reste 0) puis 100 / 6 (reste 4) pour vérifier.

Erreur fréquente à éviter

Diviser par zéro. Si l’utilisateur saisit 00, la division n’a pas de sens et peut provoquer une erreur. Le bon réflexe : tester avant la commande DIVIDE.

Autre piège : déclarer un champ “reste” trop grand ou incohérent. Ici, le reste est forcément inférieur au diviseur, donc un PIC 99 suffit si le diviseur est sur 2 chiffres.

Conseil : si vous voulez vérifier votre intuition, pensez à un partage : “100 objets répartis en 6 parts” : 6 × 16 = 96 et il reste 4, c’est exactement ce que montre REMAINDER.