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.
Der Aufbau einer solchen Anweisung lässt sich auch gut mit einem Struktogramm verdeutlichen.
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.