Fachkonzept - Wiederholung

Abläufe mit Wiederholungen

Bei der automatisierten Verarbeitung von Daten kommt es sehr oft vor, dass dieselben Anweisungen in einer Art Schleife wiederholt ausgeführt werden. Das folgende Flussdiagramm zeigt eine solche Verarbeitung mit Wiederholung.

Flussdiagramm - Würfelwurf

Fachkonzept - Wiederholungen

Ein sehr oft benutztes Ablaufmuster zur Modellierung wiederholter Abläufe ist die Solange-Wiederholung.

Eine Solange-Wiederholung besteht aus einer Bedingung und einer Anweisungssequenz.

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

Struktogramm

Bei der Ausführung einer Solange-Wiederholung 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 folgende Flussdiagramm veranschaulicht die Schleife, die bei der Ausführung der Solange-Wiederholung durchlaufen wird.

Programmablaufplan - Solange-Schleife

Zwei Sonderfälle sind hier zu beachten.

Ist die Bedingung gleich zu Beginn nicht erfüllt, so wird die Schleife überhaupt nicht durchlaufen. Die Solange-Wiederholung 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.

Beachte, dass es neben der Solange-Wiederholung noch weitere Ablaufmuster zur Beschreibung von Wiederholungen gibt. Wir werden diese hier nicht weiter thematisieren - außer Zählschleifen, die im nächsten Abschnitt betrachtet werden.

Implementierung einer Solange-Anweisung in Python

Zur Implementierung einer Solange-Wiederholung stellt Python die while-Anweisung zur Verfügung:

while [Bedingung]:
    [Anweisungssequenz]

Beispiel:

from random import randint
# Verarbeitung
augenzahl = randint(1, 6)
zaehler = 1
while augenzahl != 6:
    augenzahl = randint(1, 6)
    zaehler = zaehler + 1
# Ausgabe
print('Anzahl der Versuche: ', zaehler)

Eingeleitet wird sie mit dem Schlüsselwort while. Anschließend folgt eine Bedingung, die einfach oder auch zusammengesetzt sein kann. Wichtig ist der Doppelpunkt nach der Bedingung. Dieser Doppelpunkt deutet darauf hin, dass jetzt die zu wiederholenden Anweisungen folgen. Diese Anweisungen müssen um eine feste Anzahl von Leerzeichen (meist sind es 4 Einheiten) eingerückt werden. Die genaue Anzahl der Leerzeichen hängt von den Einstellungen des Programmiersystems ab. Hält man sich nicht an diese Einrücksystematik, so erhält man Fehlermeldungen oder auch fehlerhafte Programme.

X

Fehler melden

X

Suche