next up previous contents
Nächste Seite: Schleifen mit Austrittsbedingung Aufwärts: Schleifen Vorherige Seite: Zählschleifen   Inhalt

Schleifen mit Eintrittsbedingung

Eine Schleife mit Eintrittsbedingung (auch kopfgesteuerte oder abweisende Schleife) wird solange ausgeführt, wie die Eintrittsbedingung erfüllt ist. Ist diese Bedingung von Anfang an nicht erfüllt, wird die Schleife nicht ausgeführt. Das Struktogrammsymbol


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

wird in der folgenden Form umgesetzt:

DO WHILE ( $Eintrittsbedingung$)

Schleifenanweisungen

ENDDO

Ein Beispiel: Finden des ersten von Null verschiedenen Elements eines Feldes mit N Elementen. Zur Realisierung bietet sich eine Schleife mit Eintrittsbedingung an, da die notwendige Anzahl der Schleifendurchläufe nicht von vorneherein feststeht:

=1.00mm
\begin{picture}(90.00,45.00)
\put(0.00,0.00){\line(1,0){90.00}}
\put(90.00,0.00)...
...(90.00,14.90)[cc]{}}
\put(10.00,35.00){\makebox(0,0)[lb]{$i = 1$}}
\end{picture}

Es kann wie folgt umgesetzt werden:

        INTEGER :: i, N
        PARAMETER (N=99)
        REAL :: a(N)
         ...
        i = 1
        DO  WHILE ((a(i).EQ.0.00) .AND. (i.LT.N)) 
           i = i+1
        ENDDO



Lars Tornow 2003-03-31