Уроки модуля (1/2)
КОБОЛ Арифметика
В 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.
Показать подсказку
Используйте синтаксис: ДОБАВИТЬ WS-NUM-A К WS-NUM-B, ДАВАЯ WS-РЕЗУЛЬТАТ.
Решение доступно после 3 попыток
Используйте оператор COMPUTE, чтобы вычислить значение WS-RESULT, применяя формулу: два раза WS-NUM-A минус WS-NUM-B.
Показать подсказку
Используйте пробелы вокруг операторов * и -: COMPUTE WS-RESULT = (WS-NUM-A * 2) - WS-NUM-B.
Решение доступно после 3 попыток