Schleifen/ Wiederholungen


Soll der Hamster alle Körner eines Feldes einsammeln, müssen wir bisher die nimm()-Anweisung mehrfach hintereinander schreiben. Mit Hilfe von Schleifen können wir wiederholte Anweisungen kürzer schreiben.

 

while-Schleife

Bei der while-Schleife wird zuerst der boolesche Ausdruck in den runden Klammern ausgewertet und bei Wahrheitswert „true“ werden die Anweisungen im Block, also innerhalb der geschweiften Klammern, ausgeführt. Dies wird solange wiederholt, bis die Bedingung den Wert „false“ liefert. Es ist möglich, dass der Block nie ausgeführt wird.

while (kornDa()) {

    nimm();

}

 

do-while-Schleife

Bei einer do-while-Schleife werden die Anweisungen im Block mindestens einmal ausgeführt und erst am Ende der Schleife wird der boolesche Ausdruck ausgewertet. Im Beispiel muss auf der Kachel also mindestens ein Korn liegen. Solange der Wahrheitswert „true“ ist, werden die Anweisungen wiederholt. Diese Schleife endet mit einem Strichpunkt.

do {

    nimm();

} while(kornDa());

 

„While“ und „do“ sind sogenannte Iterationsanweisungen. Die komplette while- bzw. do-while-Schleife ist eine zusammengesetzte Anweisung. Daher können Schleifen auch innerhalb anderer Schleifen geschachtelt vorkommen.

Sogenannte Endlosschleifen entstehen, wenn die Schleifenbedingung nie „false“ liefert. Das Programm muss dann mit beendet werden.

 

while (kornDa()) {

    nimm();
    gib();
}