Lernpfad:LibreLogo für Fortgeschrittene/Verzweigungen

Aus Informatik-Box
Zur Navigation springen Zur Suche springen

Wenn-Dann-Sonst

Manchmal möchte man, dass der Turtle unterschiedliche Formen zeichnet, je nachdem, ob bestimmte Bedingungen eingetreten sind (wahr sind), oder nicht. In diesen Fällen helfen Verzweigungen oder auch Bedingte Anweisungen genannt.

Der Aufbau ist in allen Programmiersprachen ähnlich:

WENN Bedingung
DANN Anweisungen falls Bedingung wahr
SONST Anweisungen falls Bedingung nicht wahr

Bedingungen

Bedingungen sind Aussagen, die entweder wahr oder falsch sind. Zum Beispiel könnte eine solche Aussage "es regnet" sein. Wenn du aus dem Fenster schaust kannst du feststellen, ob diese Aussage jetzt gerade wahr oder falsch ist.

In einer Programmiersprache wie LibreLogo könnte so eine Aussage zum Beispiel lauten "Der Turtle guckt gerade nach oben." oder "Dies ist das zehnte Mal, dass die Wiederholung ausgeführt wird.". Jede dieser Bedingungen kann wahr oder falsch sein.

Wenn-Dann Anweisung

Abhängig davon, ob eine Bedingung wahr oder falsch ist, kann der Turtle nun andere Anweisungen ausführen. Dazu schreibst du die Bedingung einfach hinter die WENN Anweisung und die Anweisungen einfach in eckige Klammern:

WENN Bedingung [ Dann-Anweisungen ]

Was Sonst

Soll es auch einen Sonst-Teil geben, dann werden die Anweisungen zwischen einem weiteren Paar eckiger Klammern ([] ergänzt.

WENN Bedingung [ Dann-Anweisungen ][ Sonst-Anweisungen

Kombination mit Wiederholungen

Die Wenn-Dann-Anweisung lässt sich auch super mit Wiederholungen kombinieren. Zum Beispiel könnte der Turtle bei jeder zweiten Wiederholung eine andere Drehung machen und so eine Zick-Zack-Linie laufen:

WDH 10 [
  VOR 0,5cm
  WENN ZÄHLER == 2 ODER ZÄHLER == 4 ODER ZÄHLER == 6 ODER ZÄHLER == 8 ODER ZÄHLER == 10 [
    RE 30
  ] [
    LI 30
  ]
]
Icon Info.png
ZÄHLER zählt, die wievielte Wiederholung der Anweisungen gerade ausgeführt wird. Näheres dazu findest du im Schritt Wiederholungen benutzen.

In der Bedingung oben werden mehrere Fälle überprüft und mit dem Wort ODER verknüpft. Bei der zweiten, vierten, sechsten, achten oder zehnten Wiederholung der Schleife wird die Anweisung RE 30, sonst die Anweisung LI 30 ausgeführt. Man nennt ODER eine logische Verknüpfung. Es gibt auch die Verknüpfung UND.

Weiterführende Informationen

Die Modulo Operation

Die Bedingung im Programm oben kann auch kürzer geschrieben werden. Vielleicht ist dir aufgefallen, dass die Zahlen in der Bedingung alle gerade sind. Wenn man eine gerade Zahl durch zwei teilt, dann bleibt der Rest null. Diese Rechnung kann Logo auch machen und anstatt jede gerade Zahl aufzulisten, kann die Bedingung einfach den Rest prüfen. Dazu gibt es die Modulo-Operation, die in Logo mit dem Prozentzeichen (%) geschrieben wird.

Die Rechnung 4 % 2 ermittelt dann denn Rest bei einer Division mit Rest. Das Ergebnis ist also 0. Die Rechnung 5 % 2 ergibt 1, und so weiter. Ist die erste Zahl gerade, dann ergibt Zahl % 2 also immer 0.

Nun kann man das Programm oben auch so schreiben:

WDH 10 [
  VOR 0,5cm
  WENN ZÄHLER % 2 == 0 [
    RE 30
  ] [
    LI 30
  ]
]