Direkt zum Hauptinhalt springen
eLearner.app
Modul 2 · Lektion 1 von 23/10 im Kurs~12 min
Lektionen des Moduls (1/2)

COBOL-Arithmetik

In COBOL können mathematische Operationen sowohl über spezifische Verben (ADD, SUBTRACT, MULTIPLY, DIVIDE) als auch über die generische und ausdrucksstarke Anweisung COMPUTE ausgeführt werden.

Arithmetische Operationen mit formalen Verben

COBOL bietet spezifische textuelle Anweisungen für jede grundlegende arithmetische Operation:

1. Addition (ADD)

Addiert einen oder mehrere Werte zu einer Variablen.

Code
ADD WS-NUM-A TO WS-NUM-B.
* Equivale a: WS-NUM-B = WS-NUM-B + WS-NUM-A

Wenn Sie das Ergebnis in einer dritten Variablen speichern möchten, ohne die ursprünglichen Operanden zu ändern, wird die Klausel GIVING verwendet:

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

2. Subtraktion (SUBTRACT)

Subtrahiert einen Wert von einem anderen.

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

3. Multiplikation (MULTIPLY) und Division (DIVIDE)

Multiplizieren und dividieren Werte auf analoge Weise.

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

Die COMPUTE-Anweisung

Bei komplexen mathematischen Ausdrücken kann die Verwendung einzelner arithmetischer Verben lang und schwer lesbar sein. Die Anweisung COMPUTE ermöglicht die Verwendung mathematischer Standardoperatoren (+, -, *, /, ** für die Potenzierung) ähnlich wie in modernen Sprachen.

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

Probier es selbst aus

Übung#cobol.m2.l1.e1
Versuche: 0Wird geladen…

Schreiben Sie eine Anweisung in der PROCEDURE DIVISION unter Verwendung des Verbs ADD, um WS-NUM-A zu WS-NUM-B zu addieren und das Ergebnis in WS-RESULT zu speichern.

Editor wird geladen…
Hinweis anzeigen

Verwenden Sie die Syntax: ADD WS-NUM-A TO WS-NUM-B GIVING WS-RESULT.

Lösung nach 3 Versuchen verfügbar

Übung#cobol.m2.l1.e2
Versuche: 0Wird geladen…

Verwenden Sie die Anweisung COMPUTE, um den Wert von WS-RESULT anzuwenden, indem Sie die Formel anwenden: das Zweifache von WS-NUM-A minus WS-NUM-B.

Editor wird geladen…
Hinweis anzeigen

Verwenden Sie Leerzeichen um die Operatoren * und -: COMPUTE WS-RESULT = (WS-NUM-A * 2) - WS-NUM-B.

Lösung nach 3 Versuchen verfügbar