Direct naar de hoofdinhoud
Module 2 · Les 1 van 23/10 in de cursus~12 min
Modulelessen (1/2)

COBOL-rekenkunde

In COBOL kunnen wiskundige bewerkingen worden uitgevoerd met speciale werkwoorden (ADD, SUBTRACT, MULTIPLY, DIVIDE) of met behulp van de algemene en expressieve instructie COMPUTE.

Rekenkundige bewerkingen met formele werkwoorden

COBOL biedt specifieke tekstuele instructies voor elke rekenkundige basisbewerking:

1. Toevoeging (ADD)

Voegt een of meer waarden toe aan een variabele.

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

Als u het resultaat in een derde variabele wilt opslaan zonder de toevoegingen te wijzigen, gebruikt u de GIVING clausule:

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

2. Aftrekken (SUBTRACT)

Trekt de ene waarde van de andere af.

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

3. Vermenigvuldigen (MULTIPLY) en delen (DIVIDE)

Vermenigvuldig en deel waarden op een vergelijkbare manier.

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

De COMPUTE-verklaring

Voor complexe wiskundige uitdrukkingen kan het gebruik van individuele rekenkundige werkwoorden lang en moeilijk te lezen zijn. Met de instructie COMPUTE kunt u standaard wiskundige operatoren (+, -, *, /, ** voor machtsverheffen) gebruiken, vergelijkbaar met moderne talen.

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

Probeer het zelf

Oefening#cobol.m2.l1.e1
Pogingen: 0Laden…

Schrijf een instructie binnen de PROCEDURE DIVISION met behulp van het werkwoord ADD om WS-NUM-A op te tellen tot WS-NUM-B en sla het resultaat op in WS-RESULT.

Editor laden…
Toon hint

Gebruik de syntaxis: VOEG WS-NUM-A TOE AAN WS-NUM-B EN GEVEN WS-RESULTAAT.

Oplossing beschikbaar na 3 pogingen

Oefening#cobol.m2.l1.e2
Pogingen: 0Laden…

Gebruik de COMPUTE-instructie om de waarde van WS-RESULT te berekenen door de formule toe te passen: twee keer WS-NUM-A minus WS-NUM-B.

Editor laden…
Toon hint

Gebruik spaties rond de * en - operatoren: COMPUTE WS-RESULT = (WS-NUM-A * 2) - WS-NUM-B.

Oplossing beschikbaar na 3 pogingen