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 .