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)

Aritmetica COBOL

In COBOL, le operazioni matematiche possono essere eseguite sia tramite verbi dedicati (ADD, SUBTRACT, MULTIPLY, DIVIDE) sia attraverso l'istruzione generica ed espressiva COMPUTE.

Operazioni Aritmetiche con Verbi Formali

COBOL offre istruzioni testuali specifiche per ciascuna operazione aritmetica di base:

1. Somma (ADD)

Aggiunge uno o più valori a una variabile.

Code
ADD WS-NUM-A TO WS-NUM-B.
* Equivale a: WS-NUM-B = WS-NUM-B + WS-NUM-A

Se si desidera salvare il risultato in una terza variabile senza modificare gli addendi, si usa la clausola GIVING:

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

2. Sottrazione (SUBTRACT)

Sottrae un valore da un altro.

Code
SUBTRACT 10 FROM WS-BALANCE.
SUBTRACT WS-TAX FROM WS-SUBTOTAL GIVING WS-TOTAL.

3. Moltiplicazione (MULTIPLY) e Divisione (DIVIDE)

Moltiplicano e dividono valori in modo analogo.

Code
MULTIPLY WS-QTY BY WS-PRICE GIVING WS-TOTAL.
DIVIDE WS-TOTAL BY WS-ITEMS GIVING WS-AVERAGE.

L'istruzione COMPUTE

Per espressioni matematiche complesse, l'uso dei singoli verbi aritmetici può risultare lungo e difficile da leggere. L'istruzione COMPUTE consente di utilizzare operatori matematici standard (+, -, *, /, ** per l'elevamento a potenza) simili ai linguaggi moderni.

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

Prova tu

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

Scrivi un'istruzione in PROCEDURE DIVISION usando il verbo ADD per sommare WS-NUM-A a WS-NUM-B e memorizzare il risultato in WS-RESULT.

Chargement de l'éditeur…
Afficher l'indice

Usa la sintassi: ADD WS-NUM-A TO WS-NUM-B GIVING WS-RESULT.

Solution disponible après 3 tentatives

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

Utilizza l'istruzione COMPUTE per calcolare il valore di WS-RESULT applicando la formula: due volte WS-NUM-A meno WS-NUM-B.

Chargement de l'éditeur…
Afficher l'indice

Usa gli spazi intorno all'operatore * e -: COMPUTE WS-RESULT = (WS-NUM-A * 2) - WS-NUM-B.

Solution disponible après 3 tentatives