Fachkonzept - Fallunterscheidung
Verschiedene Fälle durchspielen
Häufig kommt es vor, dass zur Steuerung der Argo verschiedene Fälle unterschieden werden müssen.
Das spiegelt sich dann auch in einer Ablaufbeschreibung wider.
Sektor weiterfliegen
WENN auf einem Power-up: # Fall 1
Power-up aufheben
...
SONST:
Sektor weiterfliegen
WENN auf einem Power-up: # Fall 2
Power-up aufheben
...
SONST: # Fall 3
Sektor weiterfliegen
...
Power-up hinlegen
Hier werden Fallunterscheidungen zur Bearbeitung der verschiedenen Fälle benutzt.
Fachkonzept - Fallunterscheidung
Eine Fallunterscheidung dient dazu, alternative Abläufe zu beschreiben.
Implementierung in Python
In der Programmiersprache Python wird eine Fallunterscheidung mit einer WENN-Anweisung mit dem
Schlüsselwort if eingeleitet.
if [Bedingung]: # Doppelpunkt schließt Zeile ab.
[Anweisungssequenz] # Sequenz um gleiche Anzahl an Leerzeichen einrücken.
else: # Doppelpunkt schließt Zeile ab.
[Anweisungssequenz] # Sequenz um gleiche Anzahl an Leerzeichen einrücken.
bzw.
Einseitige Fallunterscheidung
if [Bedingung]: # Doppelpunkt schließt Zeile ab.
[Anweisungssequenz] # Sequenz um gleiche Anzahl an Leerzeichen einrücken.
Wie du oben gesehen hast, gibt es Fallunterscheidungen in zwei Varianten, als zweiseitige und als einseitige Fallunterscheidung. Diese Varianten sollen jetzt genauer betrachtet werden.
Zweiseitige Fallunterscheidung
Eine zweiseitige Fallunterscheidung wird mit einer WENN-Anweisung beschrieben, die aus einer Bedingung und zwei Anweisungssequenzen besteht - einer für den Fall, dass die Bedingung erfüllt ist und einer für den anderen Fall.
WENN [Bedingung]:
[Anweisungssequenz]
SONST:
[Anweisungssequenz]
Die Ausführung einer zweiseitigen Fallunterscheidung lässt sich mit dem folgenden Flussdiagramm verdeutlichen:
Die Struktur einer solchen zweiseitigen Fallunterscheidung beschreibt man auch oft mit einem Struktogramm:
Bei der Ausführung einer zweiseitigen Fallunterscheidung wird zunächst überprüft, ob die Bedingung erfüllt ist. Ist das der Fall, so werden die Anweisungen der entsprechenden Anweisungssequenz ausgeführt. Andernfalls werden die Anweisungen der anderen Anweisungssequenz ausgeführt.
Einseitige Fallunterscheidung
Eine einseitige Fallunterscheidung wird mit einer WENN-Anweisung beschrieben, die aus einer Bedingung und nur einer Anweisungssequenz besteht.
WENN [Bedingung]:
[Anweisungssequenz]
Die Ausführung einer einseitigen Fallunterscheidung lässt sich mit dem folgenden Flussdiagramm verdeutlichen:
Das Struktogramm zu dieser Fallunterscheidungsvariante sieht so aus:
Bei der Ausführung einer einseitigen Fallunterscheidung wird zunächst überprüft, ob die Bedingung erfüllt ist. Ist das der Fall, so werden die Anweisungen der Anweisungssequenz ausgeführt. Andernfalls geschieht gar nichts.