next up previous contents
Nächste Seite: CONTAINS- und END-Anweisung Aufwärts: Schleifen Vorherige Seite: Schleifen mit Eintrittsbedingung   Inhalt

Schleifen mit Austrittsbedingung

Bei Schleifen mit Austrittsbedingung (auch fußgesteuerte Schleife) werden die Anweisungen im Schleifenkörper so lange wiederholt, bis die Austritts- oder Abbruch-Bedingung erfüllt ist. Die Überprüfung dieser Bedingung erfolgt immer am Ende eines Schleifendurchlaufs. Da es in Fortran95 leider keine direkte Umsetzung der Schleife mit Austrittsbedingung gibt, behelfen wir uns mit einer Endlos-Schleife (DO ohne Fortsetzungsbedingung) und der EXIT-Anweisung, mit deren Hilfe wir eine Schleife wieder verlassen können. Die Umsetzung des Struktogrammsymbols


\begin{picture}(90.00,30.00)
\put(0.00,0.00){\line(1,0){90.00}}
\put(90.00,0.00)...
... . .}}
\put(50.00,5.00){\makebox(0,0)[cc]{{\it Abbruchbedingung}}}
\end{picture}

erfolgt dann in der Form:

DO

Schleifenanweisungen

IF ( $Austrittsbedingung$) EXIT
ENDDO

Für die korrekte Umsetzung des Struktogrammsymbols sei noch erwähnt, daß sich zwischen der EXIT- und ENDDO-Anweisung keine weitere Anweisung, gleich welcher Art, befinden darf. Anderenfalls handelt es sich nicht mehr um eine strukturierte Programmierung!

Ein kleines Beispiel für eine Schleife mit Austrittsbedingung: Positive Meßwerte von Tastatur einlesen; Abbruch durch Eingabe einer negativen Zahl.


\begin{picture}(90.00,30.00)
\put(0.00,0.00){\line(1,0){90.00}}
\put(90.00,0.00)...
...in}}}
\put(50.00,5.00){\makebox(0,0)[cc]{{\it Me''swert} $< 0$\ }}
\end{picture}

Die Umsetzung des Struktogramms kann beispielsweise so aussehen:

        DO       
           PRINT *, 'Bitte Messwert eingeben'
           READ *, MessW
        IF (MessW .LT. 0) EXIT
        ENDDO



Lars Tornow 2003-03-31