Inhalt
Index
Support Über uns
Home

2.4.8 COMPUTE



Beschreibung:

Der COMPUTE - Befehl addiert 2 oder mehrere numerische Werte und speichert das Resultat ab.


 
Format
COMPUTE Datenfeld1 [ROUNDED] {= / EQUAL} Wert1 [Operator Wert2 ...] [ON SIZE ERROR Befehlssequenz1] [NOT ON SIZE ERROR Befehlssequenz2] [END-COMPUTE]


Operator: + * - /

Der COMPUTE wird mit den angegebenen Werten entsprechend der Punkt-vor-Strich-Regelung ausgeführt und das Ergebnis im Datenfeld1 abgestellt.

Wird bei Datenfeld1 ROUNDED spezifiziert, wird das Ergebnis auf- bzw. abgerundet.

Beim COMPUTE können auch Klammern zur Veränderung der Priorität verwendet werden, wie z.B.: 5 * (3 + 2) um als Ergebnis 25 zu erhalten.


Tritt ein Überlauf auf wird Befehlssequenz1 (falls angegeben) ausgeführt, wenn nicht, wird Befehlssequenz2 (falls angegeben) ausgeführt.

END-COMPUTE beendet den Ausführungsbereich des COMPUTE - Befehls.

Beispielprogamm: compute.cob

      *c32 compute.cob;slink compute
       identification division.
        program-id.     COMPUTE Demo
       environment division.
        set cwsize to '0:0 0:0 55:24'.
        set cfont to 'fixedsys'.
       data division.
       working-storage section.
        77 f1           pic 9(4)V99    value 1,2.
        77 f2           pic 9(3)       value -2.
        77 f3           pic 9(5)v999   value 3,213.
        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 'add 1 to f1 f2 f3'.
        add 1 to f1 f2 f3.
        perform showres
        add f1 f2 to f3.
        display 'add f1 f2 to f3'.
        perform showres
        add f3 f1 giving f2.
        display 'add f3 f1 giving f2'.
        perform showres
        add f3 f1 giving f2 rounded.
        display 'add f3 f1 giving f2 rounded'.
        perform showres
        display 'add f1 f2 to f3 giving f1 f2'.
        add f1 f2 to f3 giving f1 f2.
        perform showres.
        display "add 20 to f1 f2 f3 not on size error display 'ok'".
        call getchar.
        add 20 to f1 f2 f3 not on size error display 'ok'.
        perform showres1.
        display "add 980 to f1 f2 f3 not on size error display 'ok'"
        display " on size error display 'overflow'"
        display " end-add"
        call getchar.
        add 980 to f1 f2 f3 not on size error display 'ok'
         on size error display 'overflow'
        end-add
        perform showres1.
        stop run.


       showres section.
        call getchar.
       showres1.
        display '           ' f1 '          ' f2 '     ' f3.
        call getchar.



compute.cob


Siehe auch Add Subtract Multiply Divide



Zurück zu Acc-Cobol Close Statement    Hoch zu Procedure Divison in COBOL    Weiter zu DELETE
Entwickler Portal Impressum AGB Kontakt


© 1980-2017 Acc Computertechnik GmbH All rights reserved.