Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| gf1:programmieren5 [2023/05/22 11:10] – marroc | gf1:programmieren5 [2025/04/24 10:53] (aktuell) – marroc | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| ===== Selektion oder ' | ===== Selektion oder ' | ||
| + | {{ : | ||
| + | **Was ist eine Selektion? | ||
| + | |||
| + | In Python wird die Selektion mit den Anweisungen '' | ||
| + | Die **Anweisung if prüft eine Bedingung**, | ||
| + | Oft wird somit bei der Selektion ein Teil des Programms nicht oder zumindest nicht immer ausgeführt. | ||
| === Beispiel === | === Beispiel === | ||
| - | Ein Beispiel zum Starten, hierbei ist zu bemerken, dass ein Beschleunigungssensor, | + | |
| {{ : | {{ : | ||
| + | Ein Beispiel zum Starten, hierbei ist zu bemerken, dass ein Beschleunigungssensor, | ||
| + | |||
| + | |||
| <code python beschleunigung1.py> | <code python beschleunigung1.py> | ||
| - | # | ||
| from microbit import * | from microbit import * | ||
| # | # | ||
| + | |||
| while True: | while True: | ||
| - | | + | if accelerometer.was_gesture(' |
| - | display.show(Image.CONFUSED) | + | display.show(Image.CONFUSED) |
| - | sleep(200) | + | sleep(3000) |
| - | else: | + | else: display.show(Image.HAPPY) |
| - | | + | </ |
| - | </ | ||
| - | {{ : | ||
| In diesem kurzen Programm wird durch eine Endlosschleife immer wieder über den Akzelerometer überprüft, | In diesem kurzen Programm wird durch eine Endlosschleife immer wieder über den Akzelerometer überprüft, | ||
| Falls dies der Fall ist, wird ein " | Falls dies der Fall ist, wird ein " | ||
| Zeile 29: | Zeile 35: | ||
| Falls es nur ein '' | Falls es nur ein '' | ||
| + | \\ | ||
| - | < | + | < |
| - | **9. Programmieraufgabe** | + | **Aufgabe 11**{{ : |
| + | - Schliessen Sie die Ampel so wie auf dem Bild an den Micro:bit an. Achten Sie darauf, dass die Masse (Erdung GRN) mit 0V verbunden ist. | ||
| - Untersuchen Sie das untenstehende unvollständige Programm. Was genau passiert? Beschreiben Sie kurz. | - Untersuchen Sie das untenstehende unvollständige Programm. Was genau passiert? Beschreiben Sie kurz. | ||
| - | | + | |
| - | - Verändern Sie das Programm weiter, sodass wenn beide Knöpfe gleichzeitig gedrückt werden, ein Symbol Ihrer Wahl angezeigt wird und eine Folge von absteigenden Tönen erzeugt | + | <code python> |
| - | - Erweitern Sie das Programm weiter, dass wenn der Micro:bit mit dem Logo nach unten gehalten wird, die aktuelle Raumtemperatur gemessen | + | # Imports go at the top |
| + | from microbit import * | ||
| + | |||
| + | |||
| + | while True: | ||
| + | |||
| + | pin0.write_digital(1) | ||
| + | |||
| + | if button_a.was_pressed(): | ||
| + | pin0.write_digital(0) | ||
| + | pin1.write_digital(1) | ||
| + | |||
| + | </ | ||
| + | |||
| + | | ||
| + | - Erweitern Sie das Programm nun weiter, so dass bei Grün ein kurzer Ton erzeugt wird und das Display "Go" anzeigt. | ||
| + | - Erweitern Sie das Programm, dass beim Drücken von Knopf B das gelbe Licht 10 mal blinkt. | ||
| + | - Verändern Sie das Programm weiter, sodass wenn beide Knöpfe gleichzeitig gedrückt werden, ein Symbol Ihrer Wahl angezeigt wird und eine Folge von absteigenden Tönen erzeugt wird und gleichzeitig alle drei Lichter blinken. | ||
| </ | </ | ||
| - | <code python | + | |
| + | < | ||
| + | <panel title =" | ||
| + | <code python> | ||
| + | |||
| + | # Imports go at the top | ||
| + | from microbit import * | ||
| + | import music | ||
| while True: | while True: | ||
| + | | ||
| + | pin0.write_digital(1) | ||
| + | | ||
| if button_a.was_pressed(): | if button_a.was_pressed(): | ||
| - | | + | |
| - | sleep(400) | + | pin1.write_digital(1) |
| - | | + | sleep(500) |
| - | </code> | + | |
| + | | ||
| + | pin2.write_digital(1) | ||
| + | sleep(2000) | ||
| + | speaker.off() | ||
| + | pin0.write_digital(0) | ||
| + | pin1.write_digital(0) | ||
| + | pin2.write_digital(0) | ||
| + | sleep(2000) | ||
| + | if button_b.was_pressed(): | ||
| + | pin0.write_digital(0) | ||
| + | counter=0 | ||
| + | while(counter<10): | ||
| + | pin1.write_digital(1) | ||
| + | sleep(500) | ||
| + | pin1.write_digital(0) | ||
| + | sleep(500) | ||
| + | counter=counter+1 | ||
| - | < | + | |
| - | **10. Programmieraufgabe** | + | |
| + | |||
| + | |||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | < | ||
| + | < | ||
| + | **Aufgabe 12** | ||
| - Zeichnen Sie das Aktivitätsdiagramm des unten beschriebenen Programms, diskutieren Sie zu zweit. | - Zeichnen Sie das Aktivitätsdiagramm des unten beschriebenen Programms, diskutieren Sie zu zweit. | ||
| - Schreiben Sie das Programm, welches die beiden Pulse misst. | - Schreiben Sie das Programm, welches die beiden Pulse misst. | ||
| - Ergänzen Sie das Programm, sodass die Werte von einem Micro:bit zum anderen gesendet werden! | - Ergänzen Sie das Programm, sodass die Werte von einem Micro:bit zum anderen gesendet werden! | ||
| - | <WRAP center round box 100%> | + | <WRAP center round box 60%> |
| // | // | ||
| Es soll den jeweiligen Pulsschlag pro Minute von zwei Personen nacheinander anzeigen, dazu soll eine '' | Es soll den jeweiligen Pulsschlag pro Minute von zwei Personen nacheinander anzeigen, dazu soll eine '' | ||
| Zeile 68: | Zeile 130: | ||
| </ | </ | ||
| - | + | < | |
| - | < | + | <panel title=" |
| - | **Lernfragen**\\ | + | Aufgabe 10 |
| + | <code python> | ||
| + | while True: | ||
| + | |||
| + | pin0.write_digital(1) | ||
| + | |||
| + | if button_a.was_pressed(): | ||
| + | pin0.write_digital(0) | ||
| + | pin1.write_digital(1) | ||
| + | sleep(500) | ||
| + | pin1.write_digital(0) | ||
| + | pin2.write_digital(1) | ||
| + | sleep(2000) | ||
| + | pin2.write_digital(0) | ||
| + | if button_b.was_pressed(): | ||
| + | pin0.write_digital(0) | ||
| + | counter=0 | ||
| + | while(counter< | ||
| + | pin1.write_digital(1) | ||
| + | sleep(500) | ||
| + | pin1.write_digital(0) | ||
| + | sleep(500) | ||
| + | counter=counter+1 | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | < | ||
| + | **Aufgabe 13 - Lernfragen**\\ | ||
| + | Bearbeiten Sie die folgenden Lernfragen. | ||
| - Wie kann erreicht werden, dass ein Teil eines Programms nur in bestimmten Fällen ausgeführt wird? | - Wie kann erreicht werden, dass ein Teil eines Programms nur in bestimmten Fällen ausgeführt wird? | ||
| - Warum ist das Verzweigen (Entscheiden) des Programms überhaupt nötig? | - Warum ist das Verzweigen (Entscheiden) des Programms überhaupt nötig? | ||
| - Worauf muss geachtet werden, wenn eine ' | - Worauf muss geachtet werden, wenn eine ' | ||
| - Welches sind die wichtigsten Erkenntnisse der Programmieraufgaben 1 bis 10? Notieren Sie dies kurz! | - Welches sind die wichtigsten Erkenntnisse der Programmieraufgaben 1 bis 10? Notieren Sie dies kurz! | ||
| + | - Formulieren Sie eine eigene Lernfrage | ||
| </ | </ | ||
| + | </ | ||
| + | [[gf1: | ||