Lernpfad:LibreLogo für Fortgeschrittene/Verzweigungen: Unterschied zwischen den Versionen

Aus Informatik-Box
Zur Navigation springen Zur Suche springen
Zeile 46: Zeile 46:
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 [Division_mit_Rest#Modulo Modulo-Operation], die in Logo mit dem Prozentzeichen (<code>%</code>) geschrieben wird.
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 [Division_mit_Rest#Modulo Modulo-Operation], die in Logo mit dem Prozentzeichen (<code>%</code>) geschrieben wird.


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


Nun kann man das Programm oben auch so schreiben:
Nun kann man das Programm oben auch so schreiben:

Version vom 20. November 2018, 09:21 Uhr

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 [Division_mit_Rest#Modulo 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
  ]
]