Salt la conținutul principal
Modulul 2 · Lecția 1 din 23/10 în curs~12 min
Lecții din modul (1/2)

COBOL Aritmetică

În COBOL, operațiile matematice pot fi efectuate fie folosind verbe dedicate (ADD, SUBTRACT, MULTIPLY, DIVIDE), fie folosind instrucțiunea generică și expresivă _LINE_4_PROTECTED.

Operații aritmetice cu verbe formale

COBOL oferă instrucțiuni textuale specifice pentru fiecare operație aritmetică de bază:

1. Adăugare (ADD)

Adaugă una sau mai multe valori la o variabilă.

COBOL
ADD WS-NUM-A TO WS-NUM-B.
* Equivalent to: WS-NUM-B = WS-NUM-B + WS-NUM-A

Dacă doriți să salvați rezultatul într-o a treia variabilă fără a modifica aditivii, utilizați clauza GIVING:

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

2. Scădere (SUBTRACT)

Scade o valoare din alta.

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

3. Înmulțirea (MULTIPLY) și împărțirea (DIVIDE)

Înmulțiți și împărțiți valorile într-un mod similar.

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

Declarația COMPUTE

Pentru expresii matematice complexe, utilizarea verbelor aritmetice individuale poate fi lungă și dificil de citit. Declarația COMPUTE vă permite să utilizați operatori matematici standard (+, -, *, /, /, _LINE_PROTECTED_INLINE_12**, *, /, _LINE_PROTECTED_INLINE_14**, _LINE_PROTECTED_INLINE_12__) limbi.

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

Încercați-l singur

Exercițiu#cobol.m2.l1.e1
Încercări: 0Se încarcă…

Scrieți o declarație în interiorul PROCEDURE DIVISION folosind verbul ADD pentru a suma WS-NUM-A la WS-NUM-B și stocați rezultatul în WS-RESULT.

Se încarcă editorul...
Afișează indiciu

Folosiți sintaxa: ADD WS-NUM-A TO WS-NUM-B GIVING WS-RESULT.

Soluție disponibilă după 3 încercări

Exercițiu#cobol.m2.l1.e2
Încercări: 0Se încarcă…

Utilizați instrucțiunea COMPUTE pentru a calcula valoarea WS-RESULT aplicând formula: de două ori WS-NUM-A minus WS-NUM-B.

Se încarcă editorul...
Afișează indiciu

Utilizați spații în jurul operatorilor * și -: CALCULATE WS-RESULT = (WS-NUM-A * 2) - WS-NUM-B.

Soluție disponibilă după 3 încercări