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
wird in der folgenden Form umgesetzt:
DO WHILE (
)
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:
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