Модульні уроки (1/2)
Арифметика COBOL
У COBOL математичні операції можна виконувати або за допомогою спеціальних дієслів (ADD, SUBTRACT, MULTIPLY, DIVIDE), або за допомогою загального та експресивного оператора COMPUTE.
Арифметичні дії з формальними дієсловами
COBOL надає спеціальні текстові інструкції для кожної базової арифметичної операції:
1. Доповнення (ADD)
Додає одне або кілька значень до змінної.
ADD WS-NUM-A TO WS-NUM-B.
* Equivalent to: WS-NUM-B = WS-NUM-B + WS-NUM-AЯкщо ви хочете зберегти результат у третій змінній, не змінюючи додавання, скористайтеся пропозицією GIVING:
ADD WS-NUM-A TO WS-NUM-B GIVING WS-RESULT.2. Віднімання (SUBTRACT)
Віднімає одне значення від іншого.
SUBTRACT 10 FROM WS-BALANCE.
SUBTRACT WS-TAX FROM WS-SUBTOTAL GIVING WS-TOTAL.3. Множення (MULTIPLY) і ділення (DIVIDE)
Множення та ділення значень аналогічним чином.
MULTIPLY WS-QTY BY WS-PRICE GIVING WS-TOTAL.
DIVIDE WS-TOTAL BY WS-ITEMS GIVING WS-AVERAGE.Оператор COMPUTE
Для складних математичних виразів використання окремих арифметичних дієслів може бути довгим і важким для читання. Оператор COMPUTE дозволяє використовувати стандартні математичні оператори (+, -, *, /, ** для піднесення до степеня), подібні до сучасних мови.
COMPUTE WS-TOTAL = (WS-PRICE * WS-QUANTITY) - WS-DISCOUNT.Спробуйте самі
Напишіть інструкцію всередині PROCEDURE DIVISION, використовуючи дієслово ADD, щоб підсумувати WS-NUM-A до WS-NUM-B і зберегти результат у WS-RESULT.
Показати підказку
Використовуйте синтаксис: ADD WS-NUM-A TO WS-NUM-B GIVING WS-RESULT.
Рішення доступне після 3 спроб
Використовуйте оператор COMPUTE, щоб обчислити значення WS-RESULT за формулою: два рази на WS-NUM-A мінус WS-NUM-B.
Показати підказку
Використовуйте пробіли навколо операторів * і -: ОБЧИСЛИТИ WS-РЕЗУЛЬТАТ = (WS-NUM-A * 2) - WS-NUM-B.
Рішення доступне після 3 спроб