2.4.21 MULTIPLY
Der MULTIPLY - Befehl multipliziert 2 oder mehrere numerische Werte und speichert das Resultat ab.
| | | | | |
Format1
MULTIPLY Wert1 BY Datenfeld1 [ROUNDED]
[Datenfeld2 [ROUNDED] ...]
[ON SIZE ERROR Befehlssequenz1]
[NOT ON SIZE ERROR Befehlssequenz2]
[END-MULTIPLY]
| |
| | | |
| | | | | |
Format2
MULTIPLY Wert1 BY Datenfeld1
GIVING Datenfeld2 [ROUNDED] [Datenfeld3 [ROUNDED] ...]
[ON SIZE ERROR Befehlssequenz1]
[NOT ON SIZE ERROR Befehlssequenz2]
[END-ADD]
| |
| | | |
Format1:
Wert1 wird mit Datenfeld1 multipliziert und falls angegeben, entsprechend gerundet und abgespeichert.
Ebenso wird mit Datenfeld2 [Datenfeld3 ...] verfahren.
Format2:
Bei der Angabe von GIVING wird Wert1 mit Datenfeld1 mulitpliziert und das Ergebnis in Datenfeld2 [Datenfeld3 ...] abgestellt.
Wird bei dem Zielfeld ROUNDED spezifiziert, wird das Ergebnis gerundet.
Tritt ein Überlauf auf wird Befehlssequenz1 (falls angegeben) ausgeführt, wenn nicht, wird Befehlssequenz2 (falls angegeben) ausgeführt.
END-MULTIPLY beendet den Ausführungsbereich des MULTIPLY - Befehls.
Beispielprogamm: multiply.cob
*c32 %;slink §
identification division.
program-id. DIVIDE Demo
environment division.
set cwsize to '0:0 0:0 60:18'.
set cfont to 'fixedsys'.
data division.
working-storage section.
77 f1 pic 9(4)V99 value 1,0.
77 f2 pic 9(3) value -2.
77 f3 pic 9(5)v999 value 3,0.
77 ant pic x.
procedure division.
display 'Start: f1 pic 9(4)v99 f2 pic 9(3) f3 pic 9(5)v999'
display ' ' f1 ' ' f2 ' ' f3
display 'multiply 3 by f1 f2 f3'
multiply 3 by f1 f2 f3
perform showres
display 'multiply f1 by f3 giving f1 f2'.
multiply f1 by f3 giving f1 f2
perform showres
display
"multiply f1 by f3 not on size error display 'ok'"
call getchar
multiply f1 by f3 not on size error display 'ok'.
perform showres1
display
"multiply f1 by f3 not on size error display 'ok'"
display " on size error display 'overflow'"
display " end-multiply"
call getchar
multiply f1 by f3 on size error display 'ok'
not on size error display 'overflow'
end-multiply
perform showres1
stop run.
showres section.
call getchar.
showres1.
display ' ' f1 ' ' f2 ' ' f3.
call getchar.
Siehe auch add subtract divide compute
Zurück zu Acc-Cobol Move Statement
Hoch zu Procedure Divison in COBOL
Weiter zu OPEN
|