Lekcje modułu (1/2)
Arytmetyka w COBOL-u
W COBOL-u operacje matematyczne mogą być wykonywane zarówno przy użyciu dedykowanych instrukcji słownych (ADD, SUBTRACT, MULTIPLY, DIVIDE), jak i poprzez ogólną i bardziej elastyczną instrukcję COMPUTE.
Operacje arytmetyczne za pomocą instrukcji słownych
COBOL oferuje specyficzne instrukcje tekstowe dla każdej podstawowej operacji arytmetycznej:
1. Dodawanie (ADD)
Dodaje jedną lub więcej wartości do zmiennej.
ADD WS-NUM-A TO WS-NUM-B.
* Equivale a: WS-NUM-B = WS-NUM-B + WS-NUM-A
Jeśli chcemy zapisać wynik w trzeciej zmiennej bez modyfikowania oryginalnych składników, używamy klauzuli GIVING:
ADD WS-NUM-A TO WS-NUM-B GIVING WS-RESULT.
2. Odejmowanie (SUBTRACT)
Odejmuje jedną wartość od drugiej.
SUBTRACT 10 FROM WS-BALANCE.
SUBTRACT WS-TAX FROM WS-SUBTOTAL GIVING WS-TOTAL.
3. Mnożenie (MULTIPLY) i Dzielenie (DIVIDE)
Mnożą i dzielą wartości w analogiczny sposób.
MULTIPLY WS-QTY BY WS-PRICE GIVING WS-TOTAL.
DIVIDE WS-TOTAL BY WS-ITEMS GIVING WS-AVERAGE.
Instrukcja COMPUTE
W przypadku złożonych wyrażeń matematycznych używanie pojedynczych czasowników arytmetycznych może być długie i trudne do odczytania. Instrukcja COMPUTE umożliwia stosowanie standardowych operatorów matematycznych (+, -, *, /, ** do potęgowania) podobnie jak w nowoczesnych językach.
COMPUTE WS-TOTAL = (WS-PRICE * WS-QUANTITY) - WS-DISCOUNT.
Spróbuj sam
Napisz instrukcję w PROCEDURE DIVISION przy użyciu czasownika ADD, aby dodać WS-NUM-A do WS-NUM-B i zapisać wynik w WS-RESULT.
Pokaż wskazówkę
Użyj składni: ADD WS-NUM-A TO WS-NUM-B GIVING WS-RESULT.
Rozwiązanie dostępne po 3 próbach
Użyj instrukcji COMPUTE, aby obliczyć wartość WS-RESULT, stosując wzór: dwukrotność WS-NUM-A minus WS-NUM-B.
Pokaż wskazówkę
Użyj spacji wokół operatorów * i -: COMPUTE WS-RESULT = (WS-NUM-A * 2) - WS-NUM-B.
Rozwiązanie dostępne po 3 próbach