Fachkonzept - Wiederholung

Aktionen wiederholt durchführen

Häufig kommt es vor, dass zur Steuerung von Kara Aktionen wiederholt ausgeführt werden müssen:

Kleeblatt hinlegen
links drehen
Schritt weitergehen
Kleeblatt hinlegen
rechts drehen
Schritt weitergehen
SOLANGE ein Baumstumpf rechts steht:
    Kleeblatt hinlegen
    Schritt weitergehen
Kleeblatt hinlegen
rechts drehen
Schritt weitergehen
Kleeblatt hinlegen
links drehen

Im vorliegenden Beispiel werden die Aktionen Kleeblatt hinlegen und Schritt weitergehen wiederholt ausgeführt.

Fachkonzept - Wiederholung

Eine Wiederholung dient dazu, wiederholte Abläufe zu beschreiben.

Wir betrachten hier Wiederholungen, die mit einer Eintrittsbedingung beschrieben werden.

Wiederholungen mit Eintrittsbedingung

Eine Wiederholung mit Eintrittsbedingung wird mit einer SOLANGE-Anweisung beschrieben, die aus einer Bedingung und einer (eventuell einelementigen) Anweisungssequenz besteht.

SOLANGE [Bedingung]:
    [Anweisungssequenz]

Das folgende Flussdiagramm zeigt, wie hier die Ausführung erfolgt.

Flussdiagramm einer bedingten Wiederholeanweisung

Der Aufbau einer solchen Anweisung lässt sich auch gut mit einem Struktogramm verdeutlichen.

Struktogramm

Bei der Ausführung einer SOLANGE-Anweisung wird vor jedem Wiederholungsdurchgang überprüft, ob die Bedingung erfüllt ist. Ist das der Fall, so werden die Anweisungen der Anweisungssequenz ausgeführt und der nächste Wiederholungsdurchgang kann beginnen. Andernfalls wird die Ausführung der Wiederholungsanweisung beendet. Das Flussdiagramm verdeutlicht sehr gut die Schleife, die wiederholt durchlaufen werden kann.

Ist die Bedingung gleich zu Beginn nicht erfüllt, so wird die Schleife überhaupt nicht durchlaufen. Die Wiederholungsanweisung bewirkt dann gar nichts.

Ist die Bedingung vor jedem Schleifendurchlauf erfüllt, so wird die Schleife (theoretisch) unendlich oft durchlaufen. Man spricht dann auch von einer Endlosschleife. In der Praxis muss man in einem solchen Fall die Ausführung abbrechen.

Implementierung in Python

In der Programmiersprache Python wird eine Wiederholung mit einer SOLANGE-Anweisung wie folgt dargestellt:

while [Bedingung]:
    [Anweisungssequenz]

Eingeleitet wird sie mit dem Schlüsselwort while. Wichtig ist der Doppelpunkt nach der Bedingung. Die zu wiederholenden Anweisungen müssen dann um eine feste Anzahl von Leerzeichen (in der Regel sind es 4 Einheiten) eingerückt werden.

X

Fehler melden

X

Suche