Passer au contenu principal
eLearner.app
Module 2 · Leçon 1 sur 23/10 dans le cours~12 min
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.

Code
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 :

Code
ADD WS-NUM-A TO WS-NUM-B GIVING WS-RESULT.

2. Soustraction (SUBTRACT)

Soustrait une valeur d’une autre.

Code
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.

Code
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.

Code
COMPUTE WS-TOTAL = (WS-PRICE * WS-QUANTITY) - WS-DISCOUNT.

À vous de jouer

Exercice#cobol.m2.l1.e1
Tentatives : 0Chargement…

É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.

Chargement de l'éditeur…
Afficher l'indice

Utilisez la syntaxe : ADD WS-NUM-A TO WS-NUM-B GIVING WS-RESULT.

Solution disponible après 3 tentatives

Exercice#cobol.m2.l1.e2
Tentatives : 0Chargement…

Utilisez l’instruction COMPUTE pour calculer la valeur de WS-RESULT en appliquant la formule : deux fois WS-NUM-A moins WS-NUM-B.

Chargement de l'éditeur…
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