Logo des digitalen Schulbuchs inf-schule.de. Schriftzug in Zustandsübergangsdiagramm eines endlichen Automaten.

Fachkonzept - Fallunterscheidung

Alternative Abläufe

Häufig kommt es vor, dass man bei der Verabeitung von Daten unterschiedliche Wege gehen muss.

Flussdiagramm - erwachsen: Übergabe: alter; Rückgabe: ja/nein/?

Je nach übergebenem Alter muss man hier einen anderen Weg im Diagramm gehen.

Man nennt ein solches Diagramm, das als Fahrplan für die Berechnungen dient, Flussdiagramm.

Fachkonzept - Fallunterscheidungen

Bei der Modellierung alternativer Abläufe verwendet man meist zwei Ablaufmuster, die man als zweiseitige Fallunterscheidung bzw. einseitige Fallunterscheidung bezeichnet. Diese Fallunterscheidungsvarianten sollen jetzt genauer betrachtet werden.

Eine zweiseitige Fallunterscheidung besteht aus einer Bedingung und zwei Anweisungssequenzen, einer für den Fall, dass die Bedingung erfüllt ist, und einer für den anderen Fall.

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

Struktogramm - zweiseitige Fallunterscheidung

Das folgenden Flussdiagramm vereutlicht die Ausführung einer solchen zweiseitigen Fallunterscheidung.

Programmablaufplan - 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.

Eine einseitige Fallunterscheidung besteht aus einer Bedingung und nur einer Anweisungssequenz.

Das Struktogramm zu dieser Fallunterscheidungsvariante sieht so aus:

Struktogramm - einseitige Fallunterscheidung

Hier das entsprechende Flussdiagramm zur Beschreibung der Ausführung:

Programmablaufplan - 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 von Fallunterscheidungen in Python

Fallunterscheidungen werden in Python mit if-Anweisungen dargestellt.

In der zweiseitigen Variante ist eine if-Anweisung wie folgt aufgebaut:

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

Beispiel:

if x >= y:
    maximum = x
    minimum = y
else:
    maximum = y
    minimum = x

Eingeleitet wird sie mit dem Schlüsselwort if. 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 Anweisungen folgen, die ausgeführt werden sollen, wenn die Bedingung erfüllt ist. Nach dem (uneingerückten) Schlüsselwort else und einem Doppelpunkt folgen - wieder eingerückt - die Anweisungen, die ausgeführt werden sollen, wenn die Bedingung nicht erfüllt ist.

In der einseitigen Variante fehlt der gesamte else-Teil:

if [Bedingung]:
    [Anweisungssequenz]

Beispiel:

maximum = x
minimum = y
if maximum < minimum:
    hilf = maximum
    maximum = minimum
    minimum = hilf
X

Fehler melden

X

Suche