Fachkonzept - Fallunterscheidung

Verschiedene Fälle durchspielen

Häufig kommt es vor, dass zur Steuerung von Kara verschiedene Fälle unterschieden werden müssen.

Kara und seine Welt - vorherKara und seine Welt - vorherKara und seine Welt - vorher

Das spiegelt sich dann auch in einer Ablaufbeschreibung wider.

Schritt weitergehen
WENN auf einem Kleeblatt:     # Fall 1
    Kleeblatt aufheben
    rechts drehen
    rechts drehen
    Schritt weitergehen
SONST:
    Schritt weitergehen
    WENN auf einem Kleeblatt: # Fall 2 
        Kleeblatt aufheben
        rechts drehen
        rechts drehen
        Schritt weitergehen
        Schritt weitergehen 
    SONST:                    # Fall 3
        Schritt weitergehen
        Kleeblatt aufheben
        rechts drehen
        rechts drehen
        Schritt weitergehen
        Schritt weitergehen
        Schritt weitergehen		
Kleeblatt hinlegen

Hier werden Fallunterscheidungen zur Bearbeitung der verschiedenen Fälle benutzt.

Fachkonzept - Fallunterscheidung

Eine Fallunterscheidung dient dazu, alternative Abläufe zu beschreiben.

Fallunterscheidungen gibt es 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:

Flussdiagramm - zweiseitige Fallunterscheidung

Die Struktur einer solchen zweiseitigen Fallunterscheidung beschreibt man auch oft mit einem Struktogramm:

Struktogramm - zweiseitige Fallunterscheidung

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:

Flussdiagramm - einseitige Fallunterscheidung

Das Struktogramm zu dieser Fallunterscheidungsvariante sieht so aus:

Struktogramm - einseitige Fallunterscheidung

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.

Implementierung in Python

In der Programmiersprache Python wird eine Fallunterscheidung mit einer WENN-Anweisung wie folgt dargestellt:

if [Bedingung]:
    [Anweisungssequenz]
else:
    [Anweisungssequenz]

bzw.

if [Bedingung]:
    [Anweisungssequenz]

Eingeleitet wird sie mit dem Schlüsselwort if. Wichtig ist der Doppelpunkt nach der Bedingung. Die Anweisungen der WENN-Anweisungssequenz müssen dann um eine feste Anzahl von Leerzeichen (in der Regel sind es 4 Einheiten) eingerückt werden. Der SONST-Fall wird mit else gefolgt von einem Doppelpunkt eingeleitet. Auch hier müssen die Anweisungen der SONST-Anweisungssequenz entsprechend eingerückt werden.

X

Fehler melden

X

Suche