Programmeren in COBOL/Statements/MULTIPLY

Uit Wikibooks
Naar navigatie springen Naar zoeken springen

Programmeren in COBOL

Inhoudsopgave





MULTIPLY is een statement van COBOL. Deze statement dient om getallen mee te vermenigvuldigen. Hier wordt de vorm en de betekenis uitgelegd samen met voorbeelden.

Vorm[bewerken]

MULTIPLY veld/constante

{BY {veld [ROUNDED]}...} of {BY veld GIVING {veld [ROUNDED]...}
[ON SIZE ERROR code]
[NOT ON SIZE ERROR code]

[END-MULTIPLY]

[]: geeft aan dat het optioneel is.
{}: geeft aan dat dit één stuk is die samen hoort.
onderstreept: geeft aan dat het verplicht is dit te schrijven. 
Als het tussen [] staat betekent dat je dit minstens moet schrijven,
als je dat deel van de funcite wilt gebruiken.
niet-onderstreept: betekent dat je het mag schrijven maar is niet verplicht.
...: Geeft aan dat je nog velden of constanten mag bijschrijven
of stukjes

Uitleg[bewerken]

MULTIPLY[bewerken]

Met MULTIPLY worden getallen vermenigvuldigd, er mag na MULTIPLY zowel een constante als een veld worden geschreven.

BY[bewerken]

Het veld dat hierachter komt wordt vermenigvuldigt met het veld of constante achter MULTIPLY. Wanneer er geen GIVING wordt gebruikt mag er na BY meerdere velden staan. Wordt het wel gebruikt dan mag er maar één staan.

GIVING(optioneel)[bewerken]

Als GIVING gebruikt wordt komt de uitkomst in de velden dat erachter komen. Wanneer het niet wordt gebruikt komt de uitkomst terecht in de velden achter BY.

ROUNDED(optioneel)[bewerken]

Zorgt ervoor dat er wordt afgerond op basis van de wiskundige regel. In COBOL wordt er niet automatisch afgerond. Stel je hebt een veld met een PICTURE van 9999 en je wilt daarin het getal 1234,56 in opslaan. Dan zullen de getallen na de komma gewoon weg vallen zodat er alleen 1234 wordt opgeslagen wordt. Volgens de wiskunde is dit niet correct als je wilt afronden moet je eerst kijken wat er na de komma komt, is dit gelijk of groter dan 5 moet je naar boven afronden is dit kleiner naar beneden. Dus er moet 1235 worden opgeslagen in dat veld. Dit doet ROUNDED voor u.

SIZE ERROR(optioneel)[bewerken]

Als de uitkomst te groot is om in het veld te worden gekopieerd gebeurt er een SIZE ERROR. Bij voorbeeld het getal 123 geraakt niet in een veld met een PICTURE van 99. Dit geldt echter niet voor komma getalen als je het getal 12.3 erin wilt zetten zal hij geen fout geven. Hierachter kun je code schrijven zoals bijvoorbeeld een fout bericht tonen.

NOT SIZE ERROR(optioneel)[bewerken]

Doed het omgekeerde van SIZE ERROR.

END-MULTIPLY(optioneel)[bewerken]

Sluit de statement af.

Voorbeelden[bewerken]

Simpel voorbeeld[bewerken]

COBOL-code: MULTIPLY - simpel voorbeeld

           MULTIPLY 99 BY uitkomst

Complex voorbeeld[bewerken]

COBOL-code: MULTIPLY - simpel voorbeeld

           MULTIPLY 12
             BY getal GIVING uitkomst uikomstafge ROUNDED
             ON OVERFLOW DISPLAY "Getal is te groot"
             NOT ON OVERFLOW DISPLAY "Getal past"
           END-MULTIPLY

Zie ook[bewerken]


COBOL statements

ACCEPT | ADD | CALL | CLOSE | COMPUTE | DELETE | DISPLAY | DIVIDE | EVALUATE | IF | INSPECT | MOVE | MULTIPLY | OPEN | PERFORM | READ | REWRITE | START | STOP | STRING | SUBTRACT | UNSTRING | WRITE


 

Informatie afkomstig van http://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.