Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

EXIT PERFORM-Anweisung

&pagelevel(4)&pagelevel

Funktion

Die EXIT PERFORM-Anweisung bietet die Möglichkeit, aus einer „in-line“- PERFORM-Anweisung zum Ende der PERFORM-Anweisung oder zur Wiederholung der Schleife zu verzweigen.

Format


EXIT {[TO TEST OF] PERFORM | PERFORM CYCLE}


Syntaxregeln

  1. Eine EXIT [TO TEST OF] PERFORM-Anweisung kann nur innerhalb eines „in-line“-Perform angegeben werden.

  2. Eine EXIT TO TEST OF PERFORM-Anweisung kann sich nur auf PERFORM-Anweisungen vom Format 2, 3 oder 4 beziehen (siehe „PERFORM-Anweisung").

  3. Die Anweisung EXIT PERFORM CYCLE ist äquivalent zur Anweisung EXIT TO TEST OF PERFORM.

Allgemeine Regeln

  1. Bei EXIT PERFORM wird die zugehörige „in-line“-PERFORM-Anweisung verlassen.

  2. Abhängig vom Format der PERFORM-Anweisung bewirkt
    EXIT TO TEST OF PERFORM unterschiedliche Verzweigungen:

    1. Bei Format 2 wird zum Test von „Ende der Schleife“ verzweigt.

    2. Bei Format 3 wird zum Test von „UNTIL bedingung“ verzweigt.

    3. Bei Angabe von TEST AFTER in Format 4 wird zum Test von „UNTIL bedingung“ verzweigt. Ist die Bedingung erfüllt, wird die PERFORM-Anweisung beendet, andernfalls wird die Inkrementierung durchgeführt.

    4. Bei Angabe von TEST BEFORE in Format 4 wird zum Inkrementieren verzweigt. Anschließend erfolgt der Test von „UNTIL bedingung“.

Beispiel 8-39

IDENTIFICATION DIVISION.
PROGRAM-ID. EXITP.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SPECIAL-NAMES.
    TERMINAL IS T.
DATA DIVISION.
WORKING-STORAGE SECTION.
01  EINGABE        PIC 99.
01  EINGABE-STATUS PIC X VALUE LOW-VALUE.
   88  EINGABE-ENDE   VALUE HIGH-VALUE.
PIC 9(3).PIC 99.PIC Z9.9(2).
PROCEDURE DIVISION.
PROC SECTION.
BERECHNUNG.
    MOVE 0 TO ZAEHLER SUMME
    DISPLAY "Berechnung des Durchschnitts von Zahlen" UPON T
    PERFORM WITH TEST AFTER UNTIL EINGABE-ENDE
       DISPLAY "ZAHLEN EINGEBEN (2 Stellen, Ende bei 00)" UPON T
       ACCEPT EINGABE FROM T
       IF EINGABE IS NOT NUMERIC
       THEN 
         DISPLAY "Eingabe nicht numerisch/nicht zweistellig!" UPON T
         EXIT TO TEST OF PERFORM
       END-IF
       IF EINGABE = 0
       THEN 
         SET EINGABE-ENDE TO TRUE
         EXIT TO TEST OF PERFORM
       END-IF
       ADD 1 TO ZAEHLER
       ADD EINGABE TO SUMME
    END-PERFORM
    IF ZAEHLER > 0
    THEN 
      COMPUTE DURCHSCHNITT ROUNDED = SUMME / ZAEHLER
      DISPLAY "Durchschnitt = " DURCHSCHNITT UPON T
    ELSE 
      DISPLAY "Kein Durchschnitt berechnet" UPON T
    END-IF
    STOP RUN.

Das Programm berechnet den Durchschnitt von Zahlen, die am Terminal eingegeben werden. Endekriterium ist die Eingabe von 00, Fehleingaben werden gemeldet.