planung:microbitpython

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
planung:microbitpython [2023/03/13 21:15] marrocplanung:microbitpython [2023/05/10 08:32] (aktuell) – alte Version wiederhergestellt (2023/01/01 21:20) marroc
Zeile 14: Zeile 14:
   - Multiplizieren Sie die Zahl mit 100.   - Multiplizieren Sie die Zahl mit 100.
   - Halbieren Sie das Resultat.   - Halbieren Sie das Resultat.
-  - Wenn Sie bereits Geburtstag hatten, addieren Sie das aktuelle Jahr und subtrahieren 2100. (Falls das Geburtsdatum vor dem Jahr 2000 ist, so wäre dies nicht 2100 sondern 2000) +  - Wenn Sie bereits Geburtstag hatten, addieren Sie das aktuelle Jahr und subtrahieren 2100. 
-  - Wenn Sie noch nicht Geburtstag hatten, addieren Sie das aktuelle Jahr und subtrahieren 2101. (Falls das Geburtsdatum vor dem Jahr 2000 ist, so wäre dies 2001 und nicht 2001) +  - Wenn Sie noch nicht Geburtstag hatten, addieren Sie das aktuelle Jahr und subtrahieren 2101.
   - Subtrahieren Sie die letzten beiden Zahlen Ihres Jahrganges (z.B. bei 1991 subtrahieren Sie 91).   - Subtrahieren Sie die letzten beiden Zahlen Ihres Jahrganges (z.B. bei 1991 subtrahieren Sie 91).
   - Ihre Zahl sollte dreistellig sein. Die erste Ziffer besteht aus der Zahl, welche Sie sich am Anfang gemerkt haben, die letzten beiden Ziffern sind Ihr Alter in Jahren. Verblüffend, nicht?    - Ihre Zahl sollte dreistellig sein. Die erste Ziffer besteht aus der Zahl, welche Sie sich am Anfang gemerkt haben, die letzten beiden Ziffern sind Ihr Alter in Jahren. Verblüffend, nicht? 
Zeile 48: Zeile 48:
 **<color #75B7F7>E</color>** steht für **Eingabe**. Eingaben können über von Benutzern die Tasten, die Maus oder den Touchbildschirm direkt gemacht werden. Es können aber auch Eingaben über Sensoren oder andere Computersysteme erfolgen. Kurz kann eine Eingabe über Nutzerinteraktion, externe Informationen oder Sensoreingaben erfolgen.\\  **<color #75B7F7>E</color>** steht für **Eingabe**. Eingaben können über von Benutzern die Tasten, die Maus oder den Touchbildschirm direkt gemacht werden. Es können aber auch Eingaben über Sensoren oder andere Computersysteme erfolgen. Kurz kann eine Eingabe über Nutzerinteraktion, externe Informationen oder Sensoreingaben erfolgen.\\ 
  
-**<color #60C291>V</color>** steht für **Verarbeitung**. Die Eingaben werden verarbeitet, meist durchlaufen Sie ein Programm. Das Programm ist oft ein in Computersprache niedergeschriebener Algorithmus. \\ +**<color #60C291>V</color>** steht für **Verarbeitung**. Die Eingaben werden verarbeitet, meist durchlaufen Sie ein Programm. Das Programm ist oft ein in Computersprache niedergeschriebener Algorithmus.\\ 
  
 **<color #609D3D>A</color>** für **Ausgabe**:  Die Ausgaben erfolgen über den Bildschirm, einen Drucker oder das Senden der Ausgabeinformation an ein anderes System. \\  **<color #609D3D>A</color>** für **Ausgabe**:  Die Ausgaben erfolgen über den Bildschirm, einen Drucker oder das Senden der Ausgabeinformation an ein anderes System. \\ 
Zeile 173: Zeile 173:
  
   * Schliessen Sie den Microbit per USB-Kabel an Ihrem Computer an.   * Schliessen Sie den Microbit per USB-Kabel an Ihrem Computer an.
-  * Öffnen Sie **https://classroom.microbit.org/**  entweder über den **Chrome-** oder den **Edge-**Browser, um den Microbit direkt über den Browser ansteuern zu können. Flashing (direktes Übertragen der Programmzeilen) auf den Micro:bit ist mit diesen Browsern möglich. Weitere Informationen zum Editor:+  * Öffnen Sie **https://classroom.microbit.org/**  entweder über den **Chrome-** oder den **Edge-**Browser, um den Microbit direkt über den Browser ansteuern zu können. Flashing (direktes Übertragen der Programmzeilen) auf den Micro:bit ist mit diesen Browsern möglich. Weitere Informationen zum Editor finden Sie unten.
     * Ein Erklärungsvideo finden Sie [[https://youtu.be/2zumYE7Mk08| hier]] und diese  [[https://microbit.org/get-started/user-guide/web-usb/ | Website]] kann auch weiterhelfen bei Problemen.      * Ein Erklärungsvideo finden Sie [[https://youtu.be/2zumYE7Mk08| hier]] und diese  [[https://microbit.org/get-started/user-guide/web-usb/ | Website]] kann auch weiterhelfen bei Problemen. 
     * Grundsätzlich kann auch ein anderer Browser ihrer Wahl genutzt werden, dann muss über ein Download und ein manuelles "Drag-and-Drop" auf den Micro:bit (wie das Kopieren einer heruntergeladenen Datei von Ihrem Computer auf einen USB-Speicherstick) genutzt werden.     * Grundsätzlich kann auch ein anderer Browser ihrer Wahl genutzt werden, dann muss über ein Download und ein manuelles "Drag-and-Drop" auf den Micro:bit (wie das Kopieren einer heruntergeladenen Datei von Ihrem Computer auf einen USB-Speicherstick) genutzt werden.
Zeile 191: Zeile 191:
  
 <code python> <code python>
-kiste = 100+Kiste = 100
 </code> </code>
  
 Der Wert wird einer Variablen durch das Gleichsetzen zugewiesen. Eine Zuweisung eines Werts an die Variable ist, wie wenn man einen Gegenstand in die Kiste legt. \\  Der Wert wird einer Variablen durch das Gleichsetzen zugewiesen. Eine Zuweisung eines Werts an die Variable ist, wie wenn man einen Gegenstand in die Kiste legt. \\ 
-:!: <color #ec5353>Dies ist sehr unterschiedlich zur Mathematik. Das ''='' ist nicht ein //ist gleich //sondern eher ein //Wert einer Variablen zuweisen//. </color> \\  +:!: <color #ec5353>Dies ist sehr unterschiedlich zur Mathematik. Das ''='' ist nicht ein //ist gleich //sondern eher ein //Wert gleich Variable setzen//. </color> \\  
-Im Beispiel ist eine Variable mit dem Namen //kiste// erstellt worden und in dieser Variablen wird der Wert //100// gespeichert. Jedes Mal, wenn nun die Variable //kiste// im Programm aufgerufen wird, ersetzt das Programm //kiste// durch //100//.+Im Beispiel ist eine Variable mit dem Namen //Kiste// erstellt worden und in dieser Variablen wird der Wert //100// gespeichert. Jedes Mal, wenn nun die Variable //Kiste// im Programm aufgerufen wird, ersetzt das Programm //Kiste// durch //100//.
 \\  \\ 
 == Beispiel == == Beispiel ==
  
 <code python> <code python>
-kiste = 100  +Kiste = 100  
-kiste = 50  +Kiste = 50  
-kiste = 50 + kiste +Kiste = 50 + Kiste 
 </code> </code>
  
-Im obigen Beispiel eines kurzen Programms, welches von oben links zeilenweise nach unten rechts durchlaufen wird, werden der Variablen kiste verschiedene Werte zugewiesen: +Im obigen Beispiel eines kurzen Programms, welches von oben links zeilenweise nach unten rechts durchlaufen wird, werden der Variablen Kiste verschiedene Werte zugewiesen: 
-  * Zuerst wird der Variablen kiste den Wert 100 zugewiesen, +  * Zuerst wird der Variablen Kiste den Wert 100 zugewiesen, 
-  * Dann wird die Variable kiste auf 50 gesetzt, der Wert 100 wird überschrieben und geht somit verloren. +  * Dann wird die Variable Kiste auf 50 gesetzt, der Wert 100 wird überschrieben und geht somit verloren. 
-  * Die Variable kiste wird um 50 erhöht. Das ist so zu lesen, dass der neue Wert kiste gleich 50 plus dem alten Wert von kiste ist.+  * Die Variable Kiste wird um 50 erhöht. Das ist so zu lesen, dass der neue Wert Kiste gleich 50 plus dem alten Wert von Kiste ist.
  
 Wer beim Arbeiten mit dem Micro:bit Variablen verwendet möchte, kann dies auf ganz verschiedene Arten tun.   Wer beim Arbeiten mit dem Micro:bit Variablen verwendet möchte, kann dies auf ganz verschiedene Arten tun.  
 Beispielsweise kann das folgende Programm ähnlich wie das Kisten-Beispiel für den Micro:bit programmiert werden: Beispielsweise kann das folgende Programm ähnlich wie das Kisten-Beispiel für den Micro:bit programmiert werden:
-<code python kiste.py>+<code python Kiste.py>
 from microbit import * from microbit import *
-kiste=2 +Kiste=2 
-kiste=kiste * 3 +Kiste=Kiste * 3 
-display.scroll('KISTE=') +display.scroll('Kiste=') 
-display.show(kiste)+display.show(Kiste)
 </code> </code>
  
-In diesem Beispiel ist die Variable kiste zuerst auf 2 gesetzt, dieser Wert wird aber direkt in der nächsten Zeile verdreifacht und anschliessend auch angezeigt. \\ +In diesem Beispiel ist die Variable Kiste zuerst auf 2 gesetzt, dieser Wert wird aber direkt in der nächsten Zeile verdreifacht und anschliessend auch angezeigt. \\ 
  
 +
 +//**Tipp:**// Testen Sie das Beispiel von oben mit Ihrem eigenen Micro:bit, indem Sie die Programmzeilen in den Editor kopieren und auf den Micro:bit laden.  ;-) 
  
 <WRAP center round todo 80%> <WRAP center round todo 80%>
Zeile 228: Zeile 230:
   - Studieren Sie das kurze Programm unten. Diskutieren Sie zu zweit, was hier programmiert wurde. Halten Sie dies kurz schriftlich fest.   - Studieren Sie das kurze Programm unten. Diskutieren Sie zu zweit, was hier programmiert wurde. Halten Sie dies kurz schriftlich fest.
   - Schliessen Sie den Micro:bit an, kopieren Sie das Programm in Ihren Editor (mico:bit classroom). Senden Sie dies dann an den Micro:bit und überprüfen Sie so die angestellten Vermutungen und Überlegungen von Aufgabe 1.   - Schliessen Sie den Micro:bit an, kopieren Sie das Programm in Ihren Editor (mico:bit classroom). Senden Sie dies dann an den Micro:bit und überprüfen Sie so die angestellten Vermutungen und Überlegungen von Aufgabe 1.
-  - Identifizieren Sie alle Variablen und Variablenwerte dieses Programms und markieren Sie diese, indem Sie den Code in ein Textdokument kopieren und kommentieren. :!: Kommentare können mit einem # direkt im Programm notiert werden. +  - Identifizieren Sie alle Variablen und Variablenwerte dieses Programms und markieren Sie diese, indem Sie den Code in ein Textdokument kopieren und kommentieren.
-  - Erweitern bzw. verändern Sie den Rechner1 so, dass auch andere Operationen (Grundoperationen) durchgeführt werden.+
 </WRAP> </WRAP>
  
Zeile 310: Zeile 311:
 <panel title='mögliche Lösungen'> <panel title='mögliche Lösungen'>
 <code python> <code python>
 +## Aufgabe 1a) Lösung
 +from microbit import *
 +from math import *
  
 +#Variablen definieren und einen Wert zuweisen
 +a=3
 +b=5 
 +#Display.scroll dient zum Anzeigen der Funktionen
 +display.scroll('a=')
 +display.scroll(a)
 +display.scroll('b=')
 +display.scroll(b)
 +display.scroll('sqrt(a^2+b^2')
 +display.scroll('c=')
 +display.scroll(sqrt(a^2+b^2))
 </code> </code>
 </panel> </panel>
Zeile 318: Zeile 333:
 {{ :planung:karussell4.png?direct&400|}} {{ :planung:karussell4.png?direct&400|}}
 == Beispiel: == == Beispiel: ==
-<code python Programm1_1.py>+<code python countA.py>
 #Programm 1 #Programm 1
 from microbit import * from microbit import *
Zeile 324: Zeile 339:
 display.scroll('Press A') #Text wird angezeigt. display.scroll('Press A') #Text wird angezeigt.
 sleep(3000) #3000ms Zeit,in welcher der Benutzer den Knopf A einige Male drücken muss. sleep(3000) #3000ms Zeit,in welcher der Benutzer den Knopf A einige Male drücken muss.
-knopfdruck=button_a.get_presses() #Es wird gezählt, wie oft der Knopf gedrückt wurde. +knopfdruck=button_a.get_presses() #Es wirdgezählt, wie oft der Knopf gedrückt wurde. 
 display.scroll(knopfdruck) #Es wird die Anzahl Betätigungen angezeigt. display.scroll(knopfdruck) #Es wird die Anzahl Betätigungen angezeigt.
 </code> </code>
  
-Durch dieses kleine Programm1_1 wird gezählt, wie oft der Knopf A gedrückt in 3000ms gedrückt wird. Es wird neben der vordefinierten Methode ''display.scroll'' auch ''button_a.get_presses'' genutzt, jene gibt zurück, wie oft der Knopf a gedrückt wird.+Durch dieses kleine Programm 1 wird gezählt, wie oft der Knopf A gedrückt in 3000ms gedrückt wird. Es wird neben der vordefinierten Methode ''display.scroll'' auch ''button_a.get_presses'' genutzt, jene gibt zurück, wie oft der Knopf a gedrückt wird.
  
 :!: **Das <color #75B7F7>E</color><color #60C291>V</color><color #609D3D>A</color>-Prinzip ist hier klar erkennbar, die Eingabe ist das Drücken des Knopfes und die Ausgabe, das Anzeigen der Anzahl Knopfbetätigungen. :!: **Das <color #75B7F7>E</color><color #60C291>V</color><color #609D3D>A</color>-Prinzip ist hier klar erkennbar, die Eingabe ist das Drücken des Knopfes und die Ausgabe, das Anzeigen der Anzahl Knopfbetätigungen.
Zeile 335: Zeile 350:
 Das Programm kann natürlich auch wie folgt erweitert werden.  Das Programm kann natürlich auch wie folgt erweitert werden. 
 == Beispiel: == == Beispiel: ==
-<code python Programm2.py>+<code python countB.py>
 #Programm 2 #Programm 2
 from microbit import * from microbit import *
Zeile 373: Zeile 388:
 === Beispiel: === === Beispiel: ===
 {{ :planung:while2.png?direct&300|}} {{ :planung:while2.png?direct&300|}}
-<code python Programm3.py>+<code python countC.py>
 #Programm 3 #Programm 3
 from microbit import * from microbit import *
Zeile 561: Zeile 576:
 </WRAP> </WRAP>
  
-<WRAP center round todo 80%>+<WRAP center round todo 60%>
 **Lernfragen**\\ **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?
Zeile 568: Zeile 583:
   - 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!
 </WRAP> </WRAP>
-<accordion> 
-<panel title="Mögliche Lösungen aller Programmieraufgaben"> 
-<code python> 
-from microbit import * 
-import music 
-import radio 
  
-zaehler=1 
-puls1=0 
-puls2=0 
-while (zaehler<3): 
-    display.show(Image.HEART) 
-    if (button_a.is_pressed()= True): 
-        display.show('Puls A') 
-        sleep(200) 
-        music.play(music.BA_DING) 
-        sleep(15000) 
-        puls1= button_a.get_presses()*4 
-        music.play(music.BA_DING) 
-        display.show('Puls A') 
-        display.scroll(puls1) 
-        zaehler =zaehler+1 
-    elif (button_b.is_pressed()): 
-        display.show('Puls B') 
-        sleep(200) 
-        music.play(music.BA_DING) 
-        sleep(15000) 
-        puls2= button_b.get_presses()*4 
-        music.play(music.BA_DING) 
-        display.show('Puls B') 
-        display.scroll(puls2*4) 
-        zaehler =zaehler+1 
-#senden von Informationen  
-#Der Sender - Micro:bit 
-radio.config(group=1) 
-radio.on() 
- 
-radio.send("Puls A") 
-radio.send(str(puls1)) 
-radio.send("Puls B") 
-radio.send(str(puls2)) 
-</code> 
-</panel> 
-</accordion> 
  
  
  • planung/microbitpython.1678738532.txt.gz
  • Zuletzt geändert: 2023/03/13 21:15
  • von marroc