Bedingte Anweisungen
Video
Bedingte Anweisungen
Was ist das?
WENN der Apfel reif ist, DANN pflücke ich den Apfel, ANSONSTEN esse ich ein anderes Obst.
Nicht nur im täglichen Leben sondern auch beim Programmieren gibt es Situationen, in denen bestimmte Entscheidungen getroffen werden müssen.
Diese Entscheidungen sind davon abhängig, ob bestimmte Ereignisse (Der Apfel ist reif.) eintreten oder eben nicht eintreten (Der Apfel ist nicht reif).
Du kannst dem BBC micro:bit sagen, wie er sich verhalten soll, wenn bestimmte Ereignisse eintreten. Dies machst du mit bedingten Anweisungen.
Verzweigung, WENN-Bedingung, IF-Anweisung
Solche Anweisungen sind nach dem WENN-DANN-(SONST)-Schema aufgebaut:
WENN Knopf A gedrückt wird,
DANN zeige einen lachenden Smiley
oder
WENN Knopf A gedrückt wird, DANN zeige einen lachenden Smiley, ANSONSTEN zeige einen traurigen Smiley
Die folgenden beiden Programme machen dasselbe:
basic.forever(function () { if (input.buttonIsPressed(Button.B)) { basic.showIcon(IconNames.Happy) basic.pause(1000) } else { basic.showIcon(IconNames.Sad) } })
input.onButtonPressed(Button.A, function () { basic.showIcon(IconNames.Happy) basic.pause(1000) }) basic.forever(function () { basic.showIcon(IconNames.Sad) })
Befehlsblöcke
Die folgenden Befehlsblöcke sind dabei besonders wichtig.
Du findest diese im Editor https://makecode.microbit.org/ in den Kategorien Eingabe und Logik
Wenn-Dann
Wenn-Dann-Ansonsten
Beispielprogramm - Schütteln
Das Häkchen-Symbol wird nur dann angezeigt, wenn der BBC micro:bit geschüttelt wird.
Dasselbe Ergebnis liefert auch der folgende Code. Dabei wird der Wert der
Beschleunigung in x-Richtnung abgefragt. Wird der BBC micro:bit geschüttelt
oder von links nach rechts bewegt, so erhöht sich dieser Wert.
Zum Programm: https://makecode.microbit.org/_3rE9HaLxJCpk
Beispielprogramm - Helligkeitsmessung
Wenn es hell ist, also der Wert der Lichtstärke größer als 150 ist, wird ein lachender Smiley angezeigt. Ansonsten (wenn der Wert der Lichtstärke kleiner oder gleich 150) ist) erscheint ein trauriger Smiley. Du findest den Befehlsblock, mit dem du die Lichtstärke messen kannst, in der Kategorie Eingabe. Um immer den aktuellen Wert der Lichtstärke zu erhalten, muss der gesamte Code in einer Endlosschleife ausgeführt werden.
Zum Programm: https://makecode.microbit.org/_TWJadPi6L1LH
Übung
Versuche die Biber-der-Informatik-Aufgabe Alea iacta zu lösen.
- Klicke dazu auf den folgenden Link:
https://www.ocg.at/sites/ocg.at/files/medien/pdfs/BiberAufgaben2015.pdf
- Du findest die Aufgabe auf Seite 7.