Fachkonzept - Bedingte Wiederholung
Bedingte Wiederholung
Oft kommt es vor, dass man in einem Programm die Anzahl der Wiederholungsschritte nicht direkt angeben kann, sondern sie flexibel mit Hilfe einer Bedingung steuern muss. Das folgende Programm nutzt eine solche bedingte Wiederholung.
Eine bedingte Wiederholeanweisung dient dazu, wiederholte Abläufe zu beschreiben, bei der die Anzahl der Wiederholungen vom Eintreten einer Bedingung abhängt.
Aufbau einer bedingten Wiederholung
Die unten abgebildete Kachel zeigt den typischen Aufbau für solch eine Wiederholeanweisung in Scratch:
Die Anweisung gibt einerseits die Bedingung vor, die stets überprüft wird, andererseits umschließt sie die zu wiederholenden Anweisungen.
Ausführung einer bedingten Wiederholung in Scratch
Die Ausführung einer solchen bedingten Wiederholeanweisung lässt sich am besten mit einem Flussdiagramm verdeutlichen.
Zunächst wird überprüft, ob die angegebene Bedingung erfüllt ist. Ist das nicht der Fall, so werden die zu wiederholenden Anweisungen ausgeführt. Anschließend wird die Bedingung wieder überprüft und es beginnt der nächste Wiederholedurchgang. Erst wenn die Bedingung erfüllt ist, wird der Vorgang beendet.
Achtung: Bedingte Wiederholung in anderen Programmiersprachen
Die bisher betrachtete bedingte Wiederholung lässt sich schematisch so darstellen:
bis [Bedingung] wiederhole: [Anweisungssequenz]
In vielen Programmiersprachen gibt es eine bedingte Wiederholung, die folgende Struktur hat:
wiederhole: [Anweisungssequenz] bis [Bedingung]
Auf den ersten Blick sieht sie der Wiederholeanweisung in Scratch ganz ähnlich. Den Unterschied in der Ausführung zeigt das folgende Flussdiagramm:
Hier werden zuerst die Anweisungen ausgeführt, bevor überprüft wird, ob die Bedingung erfüllt ist. Die Anweisungen werden so mindestens einmal ausgeführt.
In vielen Programmiersprachen gibt es zudem eine bedingte Wiederholung, die folgende Struktur hat:
solange [Bedingung] wiederhole: [Anweisungssequenz]
Das folgende Flussdiagramm zeigt, wie hier die Ausführung erfolgt.
Hier wird der Wiederholevorgang beendet, wenn die Bedingung nicht mehr erfüllt ist.
Achte bei Wiederholeanweisungen ganz genau auf die Festlegung der Ausführung.