Twitter und Facebook-Anbindung
X
Tweet Follow @twitterapi
!!! Anbindung an twitter und facebook öffnen !!!

Wenn Ihnen mein Online-Buch gefällt,
dann bedanken Sie sich doch mit einer kleinen Spende...

4.1 Die kopfgesteuerte Zählschleife for

4.1 Die kopfgesteuerte Zählschleife for

Wie bereits erwähnt, kann man mit dieser Schleife jeden Anwendungsfall abdecken, bei dem man eine Schleife benötigt, aber wie der Name schon sagt, benutzt man diese Hauptsächlich zum Ab - / Durchzählen von abzählbaren Mengen.

Das Schema lautet: for ([<Anweisung>]; [<Bedingungen>]; [<Anweisung>]) [<Anweisung>]

Strukturgramm einer for Schleife

Vollständiger und gekürzter PAP einer for Schleife

Gerade im PAP sieht man sehr schön, dass hier ein ganzer Block von Befehlen immer und immer wieder ausgeführt wird, bis eine bestimmte Bedingung nicht mehr gültig ist (weil z.B. der ab zuzählende Bereich durchlaufen ist). Rechts daneben sehen Sie eine andere gekürzte Form, wie man solche Schleifen grafisch darstellen kann.

Nachfolgend nun noch ein kleines Beispiel für eine for Schleife.

 1
 2
 3
 4
					
// Gebe alle geraden Zahlen zwischen 1 bis 10 aus
for (int iCounter = 2; iCounter <= 10; iCounter = iCounter + 2) {
	printf("%i ", iCounter);
} // end of for
					

Ausgabe:

2 4 6 8 10
		

Als erstes wird nachgesehen, ob im ersten Teil des Schleifenkopfes etwas steht und wenn dem so ist, wird diese Anweisung ausgeführt. Üblicherweise definiert man sich hier eine Zählvariable und initialisiert sie. Als nächstes wird die Schleifenbedingung geprüft und nur wenn diese Bedingung wahr ist, wird der Schleifenkörper ausgeführt. Wenn die Bedingung von vornherein nicht gültig ist, wird die Schleife komplett übersprungen. Nachdem der Schleifenkörper ausgeführt wurde, wird der dritte Teil des Schleifenkopfes ausgeführt. In dieser Anweisung zählt man üblicherweise die Zählvariable hoch bzw. herunter. Anschließend wird erneut die Schleifenbedingung geprüft und falls sie immer noch einen wahren Ausdruck liefert, wird erneut der Schleifenkörper ausgeführt usw.

Mit dem Befehl "continue" kann man den Rest des Schleifenkörpers überspringen und somit gleich den ggf. nächsten Durchlauf anstoßen. Dies macht z.B. dann Sinn, wenn der Schleifenkörper nur ausgeführt werden soll, wenn eine Randbedingung zutrifft. Sicher kann man auch um den entsprechenden Quelltext eine if Anweisung herum bauen, aber somit würde der Inhalt weiter eingerückt, was die Lesbarkeit evtl. beeinträchtigen könnte. Somit ist "continue" also ein rein stilistisches Mittel.

Außerdem gibt es noch den Befehl "break". Wie Sie sich vielleicht denken können, kann man mit ihm, vorzeitig die Schleife verlassen. Normalerweise kann man auch auf das "break" verzichten, da man nur seine Schleifenbedienung entsprechen anpassen kann, aber es gibt trotzdem Fälle, in welchen man auf diese Anweisung nicht verzichten kann. Angenommen es sollen in einer Schleife mehrere Personenangaben in eine Datei geschrieben werden und mitten drin steigt die Festplatte aus, was zur Folge hat, dass die Datei nicht länger beschrieben werden kann (ist nicht ganz richtig, da hier der Cache und der RAM eine Rolle spielen, aber es geht auch mehr ums Prinzip). Somit ist es nicht weiter sinnvoll, auch noch die restlichen Angaben einer Person schreiben zu wollen und die anderen noch anstehenden Schleifendurchläufe wären auch hinfällig. Hier macht ein vorzeitiges Beenden Sinn.

Sie merken, dass ich auch hier ein wenig ins rudern gerate, weil sowohl "continue" und "break" innerhalb von schleifen selten benutzt werden und somit ist es schwierig, ein passendes Beispiel zur Veranschaulichung zu finden.

Zum Seitenanfang
Zum Inhaltsverzeichnis

© Copyright by Thomas Weiß, 2009 - 2012