Leçons du module (1/2)
Arithmétique COBOL
En COBOL, les opérations mathématiques peuvent être exécutées soit via des verbes dédiés (ADD, SUBTRACT, MULTIPLY, DIVIDE), soit à travers l’instruction générique et expressive COMPUTE.
Opérations arithmétiques avec verbes formels
COBOL propose des instructions textuelles spécifiques pour chaque opération arithmétique de base :
1. Addition (ADD)
Ajoute une ou plusieurs valeurs à une variable.
ADD WS-NUM-A TO WS-NUM-B.
* Equivale a: WS-NUM-B = WS-NUM-B + WS-NUM-A
Si l’on souhaite enregistrer le résultat dans une troisième variable sans modifier les opérandes d’origine, on utilise la clause GIVING :
ADD WS-NUM-A TO WS-NUM-B GIVING WS-RESULT.
2. Soustraction (SUBTRACT)
Soustrait une valeur d’une autre.
SUBTRACT 10 FROM WS-BALANCE.
SUBTRACT WS-TAX FROM WS-SUBTOTAL GIVING WS-TOTAL.
3. Multiplication (MULTIPLY) et Division (DIVIDE)
Multiplient et divisent des valeurs de manière analogue.
MULTIPLY WS-QTY BY WS-PRICE GIVING WS-TOTAL.
DIVIDE WS-TOTAL BY WS-ITEMS GIVING WS-AVERAGE.
L’instruction COMPUTE
Pour les expressions mathématiques complexes, l’utilisation de verbes arithmétiques individuels peut s’avérer longue et difficile à lire. L’instruction COMPUTE permet d’utiliser des opérateurs mathématiques standards (+, -, *, /, ** pour l’élévation à la puissance) similaires à ceux des langages modernes.
COMPUTE WS-TOTAL = (WS-PRICE * WS-QUANTITY) - WS-DISCOUNT.
À vous de jouer
Écrivez une instruction dans la PROCEDURE DIVISION en utilisant le verbe ADD pour additionner WS-NUM-A à WS-NUM-B et stocker le résultat dans WS-RESULT.
Afficher l'indice
Utilisez la syntaxe : ADD WS-NUM-A TO WS-NUM-B GIVING WS-RESULT.
Solution disponible après 3 tentatives
Utilisez l’instruction COMPUTE pour calculer la valeur de WS-RESULT en appliquant la formule : deux fois WS-NUM-A moins WS-NUM-B.
Afficher l'indice
Utilisez des espaces autour des opérateurs * et - : COMPUTE WS-RESULT = (WS-NUM-A * 2) - WS-NUM-B.
Solution disponible après 3 tentatives