Umsetzung der Entscheidungsfälle in snap!

Entscheidungsfälle mit Verzweigungsstrukturen

Eine ganze typische logische Aufgabe ist es, eine Entscheidung zu treffen. So wird beispielsweise unter-schieden, ob die Sonne aktuell über oder unter dem Horizont steht. Daraus resultiert die Berechnung des Solarertrages. Solche Fragestellungen treten in ganz oft auf. der Um solche Aufgaben zu lösen, werden sogenannte Entscheidungsstrukturen, oder Verzweigungen, verwendet.
Eigenschaften einer Verzweigung:
1. Es gibt eine Bedingung. Anhand dieser Bedingung wird entschieden.
2. Es wird zwischen Entscheidungsfällen unterschieden.
3. Es gibt eine einseitige, zweiseitige und mehrseitige Verzweigung.
Formulieren der Bedingung:
Eine Bedingung wird zu Beginn der Verzweigung auf wahr/falsch (true/false) geprüft. Das bedeutet, dass die Bedingung eindeutig einem Zustand zugeordnet werden soll. Folgende Möglichkeiten können Sie nutzen, um eine Bedingung zu formulieren:
1. Vergleich der Werte über den Block Operatoren. Wenn ein Wert über,- unterschritten, gleich einer Zahl, einem Buchstaben oder einem Wort ist, wird die Bedingung erfüllt und damit auf „wahr“ gesetzt.
Beispiel: Falls die y-Koordinate der Sonne größer als Null ist, wird der Solarertrag auf einen der Sonnenhöhe proportionalen Wert gesetzt.
2. Festlegung einer Zustandsvariable (Flag): Eine Variable hat entweder einen true oder einen false - Zustand. Wenn der Zustand true eintritt, wird der true-Block ausgeführt, ansonsten der false-Block.
Beispiel: Variable jmdzuHause hat der Zustand true immer zwischen 21.00 und 06.00. Ansonsten ist Zustand false, weil alle Familienmitglieder das Haus verlassen. Wenn das Haus leer steht, wird von einem Grundverbrauch ausgegangen. Wenn jemand zu Hause ist, dann erhöht sich der Verbrauch.

Darstellung in snap! von Verzweigungsstrukturen


„[Wenn das Wetter
BEDINGUNG
schön ist], [dann gehe
FALL
ich spazieren.]“
Wird immer auf Zustand wahr oder falsch überprüft. Wenn wahr, dann werden die Anweisungen im entsprechenden Block (Fall) ausgeführt.
Wenn falsch, dann werden Anweisungen unterhalb der Verzweigung ausgeführt. Es gibt keine Alternative für den falsch – Zustand!

„[Wenn das Wetter
BEDINGUNG
schön ist], [dann gehe
FALL 1
ich spazieren], [ansonsten gehe ich ins
FALL 2
Kino.]“
Wird immer auf Zustand wahr oder falsch überprüft. Wenn wahr, dann werden die Anweisungen im Block 1 (Fall 1) ausgeführt.
Wenn falsch, dann werden Anweisungen im Block 2 (Fall 2) ausgeführt. Zweiseitige Verzweigung stellt sowohl den wahr-Fall, als auch den falsch-Fall dar!

„[Wenn das Wetter
BEDINGUNG 1
schön ist], [dann gehe
FALL 1
ich spazieren], ansonsten falls ich Geld
BEDINGUNG 2
habe, [ gehe ich ins
FALL 2
Kino], wenn nicht,
FALL 3
[bleibe daheim].“
Auch Verschachtelung genannt. Bei vielen Bedingung wird unübersichtlich, theoretisch unendlich viele möglich. Jede Bedingung wird auf Zustand wahr oder falsch überprüft.
Falls eine Bedingung wahr wird, werden die Anweisungen im entsprechenden Block ausgeführt, alle anderen werden ignoriert.