Перейти до основного вмісту
eLearner.app
Модуль 2 · Урок 1 із 23/10 у курсі~12 min
Модульні уроки (1/2)

Арифметика COBOL

In COBOL, mathematical operations can be performed either using dedicated verbs (ADD, SUBTRACT, MULTIPLY, DIVIDE) or using the generic and expressive COMPUTE statement.

Arithmetic Operations with Formal Verbs

COBOL provides specific textual instructions for each basic arithmetic operation:

1. Addition (ADD)

Adds one or more values to a variable.

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

If you want to save the result in a third variable without modifying the addends, use the GIVING clause:

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

2. Subtraction (SUBTRACT)

Subtracts one value from another.

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

3. Multiplication (MULTIPLY) and Division (DIVIDE)

Multiply and divide values in a similar fashion.

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

The COMPUTE Statement

For complex mathematical expressions, using individual arithmetic verbs can be long and difficult to read. The COMPUTE statement allows you to use standard mathematical operators (+, -, *, /, ** for exponentiation) similar to modern languages.

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

Try it yourself

вправи#cobol.m2.l1.e1
Спроби: 0Завантаження…

Write a statement inside the PROCEDURE DIVISION using the ADD verb to sum WS-NUM-A to WS-NUM-B and store the result in WS-RESULT.

Завантаження редактора…
Показати підказку

Use the syntax: ADD WS-NUM-A TO WS-NUM-B GIVING WS-RESULT.

Рішення доступне після 3 спроб

вправи#cobol.m2.l1.e2
Спроби: 0Завантаження…

Use the COMPUTE statement to calculate the value of WS-RESULT applying the formula: two times WS-NUM-A minus WS-NUM-B.

Завантаження редактора…
Показати підказку

Use spaces around the * and - operators: COMPUTE WS-RESULT = (WS-NUM-A * 2) - WS-NUM-B.

Рішення доступне після 3 спроб