Kopf- und fußgesteuerte Schleifen?

3 Antworten

Die einen haben die Bedingung oben.

Die anderen unten.

while(condition) {
    // code
}

do {
    // code
} while(condition);

Die Logik ist bei dem einen

  1. condition prüfen, wenn ja schleife (weiter) ausführen
  2. code in der schleife ausführen
  3. goto 1

bei dem anderen

  1. code in der schleife ausführen
  2. condition prüfen, wenn ja goto 1

Wobei moderne Sprachen gar nicht unbedingt dieses do … while konstrukt haben sondern einfach so etwas wie loop { } und du dann in der Schleife mit If und continue/break die Ausführung regelst. Kommt aufs selbe raus.

Wenn ich mich nicht irre:

Bei einer Kopfgesteuerten Schleife wird am Anfang geprüft, ob sie ausgeführt wird. Bei einer Fußgesteuerten wird am Ende der Schleife geprüft, ob sie verlassen wird oder sie nochmal durchlaufen wird. So wird die fußgesteuerte Schleife mindestens einmal durchlaufen. Die Kopfgesteuerte kann auch ohne Durchlauf übersprungen werden, wenn die Bedingung am Anfang nicht passt.

Bei einer Kopfgesteuerten schleife befindet sich die Überprüfung ob die Vorraussetzungen zum durchlaufen erfüllt sind am Anfang der schleife ...

Und bei einer Fußgängern schleife findet diese erst nach dem Durchlauf statt.

Heißt in der Praxis:

Kopfgesteuerte schleifen können übersprungen werden, fussgesteuerte haben mindestens einem Durchlauf.