Title: Nachlese: For Schleife
Course: PAC++ SchülerInnen > Section: Mailüfterl

Einführung

In diesem Modul werden wir uns mit einem sehr wichtigen Konzept beschäftigen. Wir werden For-Schleifen kennen- und sie nutzen lernen.

Bemerkung: Du kannst links oben mit einem Klick auf Einstellungen/Buch-Administration/Buch drucken die gesamte Nachlese ausdrucken.

Motivation

Wir können For-Schleifen verwenden, um Anweisungen öfter auszuführen und brauchen dadurch nicht immer wieder neue Anweisungen schreiben. So ersparen wir uns sehr viel Schreibarbeit und können schon kompliziertere Programme entwickeln. Wir werden uns anschauen, wie so eine For-Schleife funktioniert und aufgebaut ist und das Ganze an einem Beispiel veranschaulichen.

Berechnung

Eine Schleife ist eine Kontrollstruktur, die einen Teil vom Code solange wiederholt, bis eine Bedingung erfüllt wird und eintritt. Im Kopf einer For-Schleife stehen drei Ausdrücke: Start, Bedingung und Weiter.

#1    for ( Start; Bedingung; Weiter ) {
#2        // Anweisungen
#3    }

Der Ausdruck Start in der For-Schleife wird zu Beginn der Schleife bewertet. Oft wird hier eine Variable initialisiert, z. B. mit "int i = 0":

#1    for (int  i = 0; Bedingung; Weiter ) {
#2        // Anweisung


#3    }

Der Ausdruck Bedingung in der For-Schleife wird immer auf Wahr geprüft. Solange die Bedingung wahr ist, wird der Anweisungsblock, der z. B. in Zeile 2 steht, ausgeführt. Die Bedingung wird direkt nach dem Ausdruck Start geprüft und dann immer wieder nach jedem Durchlauf erneut geprüft. Sobald der Ausdruck Bedingung falsch ist, wird die Schleife abgebrochen. Das Programm nach dem For-Schleifen-Block wird dann wie gewohnt ausgeführt und fortgesetzt. Eine Bedingung könnte so aussehen:

#1 for (int i = 0; i < 5; Weiter ) {
#2 // Anweisung
#3 }


Der Ausdruck Weiter in der For-Schleife wird jedes Mal durchgeführt, wenn der For-Schleifen-Block (Anweisung) abgearbeitet wurde. Oft wird hier eine Zählvariable verwendet, die zum Beispiel so aussieht:

#1    for (int  i = 0; i < 5; i = i+1 ) {
#2        // Anweisung
#3    }

Nun können wir unsere Anweisung in unserem For-Schleifen-Block definieren. Dies könnte z. B. eine Ausgabe sein wie “Hallo For-Schleife!”:

#1    for ( int i = 0; i < 5; i = i+1 ) {
#2        cout <<  “Hallo For-Schleife!” << endl;
#3    }

Als Ausgabe erhalten wir 5 Zeilen mit dem Text “Hallo For-Schleife!”, weil unsere Schleife wie folgt durchlaufen wird:

Im allerersten Schritt wird unsere Variable i mit dem Wert 0 initialisiert. Die Bedingung i < 5 trifft somit zu, und nun kann unser cout Statement im For-Schleifen-Block ausgeführt werden. Die erste Textzeile erscheint auf der Konsole.

Nun wird die Variable i um den Wert 1 erhöht und anschließend wieder im Ausdruck Bedingung i < 5 geprüft. Da unsere Variable kleiner 5 ist, kann wiederum der For-Schleifen-Block ausgeführt werden. Die zweite Textzeile erscheint auf der Konsole.

Nun wird die Variable i wieder um den Wert 1 erhöht und hat somit den Wert 2 und wird anschließend wieder im Ausdruck Bedingung i < 5 geprüft. Da unsere Variable kleiner 5 ist, kann wiederum der For-Schleifen-Block ausgeführt werden. Die dritte Textzeile erscheint auf der Konsole.

Nun wird die Variable i wieder um den Wert 1 erhöht, hat somit den Wert 3 und wird anschließend wieder im Ausdruck Bedingung i < 5 geprüft. Da unsere Variable kleiner 5 ist, kann wiederum der For-Schleifen-Block ausgeführt werden. Die vierte Textzeile erscheint auf der Konsole.

Nun wird die Variable i wieder um den Wert 1 erhöht, hat somit den Wert 4 und wird anschließend wieder im Ausdruck Bedingung i < 5 geprüft. Da unsere Variable kleiner 5 ist, kann wiederum der For-Schleifen-Block ausgeführt werden. Die fünfte Textzeile erscheint auf der Konsole.

Nun wird die Variable i wieder um den Wert 1 erhöht, hat somit den Wert 5 und wird anschließend wieder im Ausdruck Bedingung i < 5 geprüft. Da unsere Variable nun nicht mehr kleiner als 5 ist, wird der For-Schleifen-Block nicht ausgeführt. Der Fokus verlässt die For-Schleife und setzt mit dem übrigen Programmteil fort.

Ausblick

For-Schleifen sind mächtige Mittel, um immerwiederkehrende und wiederholende Programmteile zu programmieren. Im nächsten Modul lernen wir die verwandte While-Schleife kennen.

Nun liegt es an dir, dich mit dem Konzept der For-Schleife auseinanderzusetzen. Drehe deine eigenen Loops!