i

Fachkonzept

Fachkonzept - Bedingung

Der Aufruf der Sensoren die du in den Übungen kennengelernt hast, erfolgte nach dem bekannten Muster argo.operation(), Damit testet z.B. argo.rockFront(), ob die Argo vor einem Asteroid steht.

Das Ergebnis eines solchen Tests ist einer der beiden Wahrheitswerte True (wahr) oder False (falsch), mit dem angegeben wird, ob die Bedingung argo.rockFront() erfüllt ist oder nicht.

Die Steuerung komplexerer Abläufe (wie Fallunterscheidungen und Wiederholungen) erfolgt mit Hilfe von Bedingungen. Eine Bedingung gibt immer einen der beiden Wahrheitswerte (True oder False) zurück.

Fachkonzept - Fallunterscheidung

Müssen zur Steuerung der Argo verschiedene Fälle unterschieden werden, können diese mit Hilfe von Fallunterscheidungen bearbeitet werden.

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

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

Zweiseitige Fallunterscheidung

Fallunterscheidungen können sowohl zweiseitig als auch einseitig sein. Eine zweiseitige Fallunterscheidung wird mit einer WENN-Anweisung beschrieben, die aus einer Bedingung und zwei (verschiedenen) Anweisungssequenzen besteht. Abhängig davon welcher Fall eintritt, wird die entsprechende Anweisungssequenz ausgeführt.

Die Ausführung einer zweiseitigen Fallunterscheidung lässt sich mit dem einem Flussdiagramm verdeutlichen:

Flussdiagramm - zweiseitige Fallunterscheidung

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

Struktogramm - zweiseitige Fallunterscheidung

Einseitige Fallunterscheidung

Eine einseitige Fallunterscheidung wird mit einer WENN-Anweisung beschrieben, die aus einer Bedingung und nur einer Anweisungssequenz besteht. Ist die Bedingung nicht erfüllt, so wird die Anweisungsequenz der Fallunterscheidung nicht ausgeführt.

if [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

Suche

v
6.4.2.3
dev.inf-schule.de/imperative-programmierung/spacebug/fallunterscheidungen/konzept_fallunterscheidung
dev.inf-schule.de/6.4.2.3
dev.inf-schule.de/@/page/AvnET6BVHME7Sa6r

Rückmeldung geben