Zählschleifen sind Schleifen, bei denen zu Beginn der Ausführung festgestellt wird, wie oft die Schleife durchlaufen wird; die Anzahl der Schleifendurchläufe steht also zu Beginn fest und wird während der Ausführung nicht mehr verändert. Das Struktogrammsymbol für Zählschleifen lautet:
Für die Programmierung von Zählschleifen verwendet man unter Fortran95 die DO-Schleifen mit Laufvariable. Die Anweisung dann lautet
DO
Schleifenanweisungen
ENDDO
Die Laufvariable ist , und
der von ihr zu durchlaufende
Wertebereich geht von
(Startwert)
bis
(Endwert).
Die Laufvariable wird in jedem
Schleifendurchlauf um das
Inkrement
erhöht. Wird das (optionale)
Inkrement weggelassen, wird
angenommen. Die Größen
,
und
sind
nicht-komplexe arithmetische Ausdrücke,
und
muß eine ganzzahlige Variable
sein.
Zähl-Schleifen sind eigentlich spezielle
Schleifen mit Eintrittsbedingung. Die
Schleife wird je nach Vorzeichen des
Inkrements aufwärts
oder abwärts
durchlaufen bis
bzw.
ist.
Die Schleife wird keinmal durchlaufen,
wenn
bei
oder
wenn
bei
ist.
Die einzelnen Schritte bei der
Ausführung einer Zählschleife
sind wie folgt:
Beispiele: Das Programmstück
sollte in FORTRAN folgendermaßen aussehen (i und j sind ganzzahlig, sum, a und b sind reell):
! --- ZaehlSchleife mit Vorwaertszaehlung ! --- sum = 0.0 DO i = 1, 3 sum = sum + a(i)*b(i) ENDDO : : ! --- ZaehlSchleife mit Rueckwaertszaehlung ! --- DO j = 10, 0, -3 PRINT*, j ENDDO
Die letzte Schleife würde die Ausgabe 10, 7, 4, 1 erzeugen.
Zählschleifen können wie IF-Blöcke geschachtelt werden. Dabei muß die innere Schleife vollständig im Schleifenbereich der äußeren enthalten sein. Zählschleifen können, wenn es sein muß, durch einen Sprung aus dem Bereich verlassen werden. Sprünge in einen Schleifenbereich hinein sind verboten.
Beispiel für zulässige Schachtelung:
Die Umsetzung in FORTRAN sollte wie folgt aussehen:
INTEGER :: i, j, k REAL :: a(5,4,4), b(4,4) DO i = 1, 4 DO j = 1, 4 DO k = 1, 5 a(k,j,i) = 0.0 ENDDO b(j,i) = 0.0 ENDDO ENDDO
In dieser Schleifenkonstruktion werden die beiden Felder a und b auf Null gesetzt.
Innerhalb des Wiederholungsbereichs
einer Zählschleife
dürfen weder die Laufvariable noch die
Parameter ,
und
geändert werden. Sie können aber
sonst in beliebiger Weise, z.B. als
Operanden in arithmetischen Ausdrücken,
verwendet werden.
Nach dem Ende der Schleife hat die
Laufvariable den Wert
.