gf1:programmieren2

Dies ist eine alte Version des Dokuments!


https://upload.wikimedia.org/wikipedia/commons/thumb/0/0a/Python.svg/270px-Python.svg.png https://en.wikipedia.org/wiki/File:Guido_van_Rossum_in_PyConUS24_(cropped).jpg Im Grundlagenfach Informatik werden Sie die Programmiersprache Python und ganz kurz noch JavaScript kennenlernen. Als Erinnerung, HTML ist keine Programmiersprache ;)
Python ist laut PYPL-Index ( Popularity of Programming Language Index ist ein Ranking, das die Popularität verschiedener Programmiersprachen anhand der Häufigkeit ihrer Tutorials auf Google abmisst) die häufigste verwendete Programmiersprache weltweit mit einem Anteil von 29,8% im Januar 2025.

Nice to know

Der niederländische Entwickler Guido van Rossum hat um 1990 die Programmiersprache Python entwickelt, um eine Lernumgebung für Programmiersprachen mit einfacher Syntax und Lesbarkeit zu haben. Die durch diese Sprache geschulten Programmier-Kompetenzen sollten gleichzeitig auf andere Sprachen übertragen werden können. Guido van Rossum war ein Fan der britischen Komikertruppe Monty Python, daher der Name „Python“, weit weg von der gleichnamigen Schlage…
Weitere Informationen hier.

https://upload.wikimedia.org/wikipedia/commons/thumb/4/41/BBC_Logo_2021.svg/375px-BBC_Logo_2021.svg.png Um erste Erfahrungen mit der Programmiersprache Python zu machen, gibt es viele Möglichkeiten.
Wir werden dies mithilfe des Micro:bits (BBC micro:bits) tun. Dies ist eine Art Minicomputer, ein so genannter Einplatinencomputer, welcher 2015 von BBC (British Broadcasting Corporation) entwickelt wurde, um die Werkzeuge für eine bessere Schulbildung im Bereich der Informationstechnik bereitzustellen. Der Micro:bit kann über verschiedener Entwicklungsumgebungen programmiert werden.

Die Hardware

Sie halten einen Micro:bit in den Händen, doch was genau ist dieses kleine Ding und was kann es alles? Hier eine Übersicht der Hardwarekomponenten.

Aufgabe 1: Hardware → Micro:bit kennenlernen Finden Sie auf Ihrem Microbit die einige der unten aufgelisteten Komponenten. Einige davon sind kursiv geschrieben, erinnern Sie sich über deren Funktionen innerhalb eines Computers.

  • Prozessor
  • Lautsprecher, Mikrophon
  • Beschleunigungssensor
  • LEDs (vorne und hinten)
  • Logo
  • Schnittstellen
  • Pins (inklusive Masse)
  • Weitere Hardwarekomponenten…

Weitere technische Details dazu unter Hardwareinformationen

Für den Anfang beginnen wir mit dem Online-Editor, denn hier gibt es eine ziemlich nützliche API*, die Verbindung zum Microbit funktioniert gut und der Editor ist einfach zu bedienen. Der Code ist auf dem OneNote vorhanden.
* API heisst Application Programming Interface und ist eine Sammlung von Befehlen, Funktionen, vieles mehr, die zum Programmieren verwendet werden können.

Verbindung zum Microbit

Bevor wir mit dem Programmieren eines Microbits starten können ist eine Verbindung zwischen dem Computer und dem Micro:bit nötig. Im folgenden Auftrag ist beschrieben, wie dies gemacht werden soll.

Python ist eine Programmiersprache, bei der man einen Computer über Text-Befehle steuert, die sequenziell, das heisst, einer nach dem anderen abgearbeitet und ausgeführt werden (Wie bei einem Muffins-Rezept).
Zuoberst werden dabei immer die entsprechenden Python-Module (vordefinierte Befehle, ganze Befehlspakete, vordefinierte Konstanten… aus der Python Bibliothek), die man für das jeweilige Programm braucht (zum Beispiel from microbit import *).
Danach folgen die eigentlichen Befehle, aus denen das Programm besteht.

Aufgabe 2: Der Microbit - Display für Ausgaben

  1. Verbinden Sie den BBC:Microbit über das beigliegende USB-Kabel mit Ihrem Computer.
  2. Öffnen Sie in einem Browser ( chrombasiert) diesen Online-Editor in einem separaten Tab!
  3. Falls sich im Editor schon Programmiercode befindet, dann entfernen Sie diesen! Kopieren Sie den folgenden Code in den Editor:
from microbit import * #Import aller Bibliotheken
counter = 0  # Startwert der Variable
display.scroll('press A')
while True: # while - Schleife wird durchgeführt, solange die Bedingung true ist, da ''True=True'' immer stimmt, ist dies eine Endlos-Schleife.
    if button_a.was_pressed():  # Überprüfen, ob Knopf A gedrückt wurde, wenn dies der Fall war, dann...
        counter = counter + 1  # Erhöhe die Variable namens counter um 1
        display.scroll(counter)  # Zeige den Wert auf dem Display
  1. Klicken Sie anschliessend auf Send to micro:bit! Nun sollte eine Meldung erscheinen, dass Sie den Mocrobit mit dem Computer verbinden sollen. Das haben Sie schon gemacht, also klicken Sie zwei mal auf Next, wählen Sie den Microbit im nächsten Fenster aus und bestätigen Sie die Auswahl mit Connect!
  2. Ändern Sie das Programm, so dass von 60 rückwärtsgezählt wird, jedesmal wenn der Knopf A gedrückt wird.
  3. Diskutieren Sie zu zweit die folgenden Fragen!
    1. Was ändert sich, wenn while counter>0: steht, anstelle von while True:?
    2. Warum genau muss if button_a.was_pressed(): programmiert werden?
    3. Was bedeutet die Zeile „from microbit import *“? Lesen Sie nach!

<accordion>

was import bedeutet

Der Befehl import * (im Kontext des micro:bits und allgemein in Python) bedeutet, dass alle Funktionen und Klassen aus einem bestimmten Modul in das aktuelle Skript importiert werden. Dies ermöglicht es, auf alle diese Funktionen und Klassen ohne Präfix direkt zuzugreifen.

Beispielsweise, wenn du from microbit import * verwendest, importierst du alle verfügbaren Funktionen und Klassen des micro. Dadurch kannst du direkt display.show(Image.HAPPY) schreiben, anstatt microbit.display.show(microbit.Image.HAPPY).

Dies vereinfacht die Schreibweise und macht das Programm übersichtlicher, insbesondere für Anfänger. Allerdings kann es zu Namenskonflikten führen, wenn mehrere Module ähnliche Funktionen oder Klassen haben. Daher wird oft empfohlen, nur spezifische Funktionen oder Klassen zu importieren, um Klarheit zu wahren.

</accoridon>

OneNote - Ergänzung
Ergänzen Sie ihr OneNote mit diesen Befehl in Ihrem persönlichen Cheatsheet unter „Modulimporte“ hinzu und erklären Sie in ein paar Worten, wofür dieser Import nützlich ist! Sie haben in diesem Beispiel nun ebenfalls einen Befehl kennengelernt, um Texte auszugeben. Auch dies kann in ihrem Cheatsheet OneNote ergänzt werden.

Display:
Neben dem Befehl display.scroll() gibt es ebenfalls den Befehl display.show(), der nützlich ist, wenn man nur ein einzelnes Zeichen (zum Beispiel einen Buchstaben) anzeigen möchte.
Es ist weiter möglich, nur einzelne Pixel zu manipulieren mit Hilfe des Befehls display.set_pixel(x,y,b), wobei x die Spalte, y die Zeile und b die Hellighkeit (brightness) angibt. Die Helligkeit kann zwischen 0 und 9 liegen. Der Befehl display.set_pixel(0,0,9) würde das Pixel oben links auf die maximale Helligkeit setzen! Viel Spass beim Ausprobieren! –> Link zur ausführlichen Dokumentation: https://microbit-micropython.readthedocs.io/en/v2-docs/tutorials/radio.html

Ziel dieses Teils ist es, erste Erfahrungen im Programmieren in Python gemeinsam mit dem wichtigen Grundwissen zu den elementaren Programmierkonzepten zu machen. Es geht somit darum, nicht nur „auszuprobieren“, sondern die genannten Konzepte zu erkennen und selbst auch in einfacheren Beispielen zu verwenden.

Variablen haben in der Programmierung grosse Nützlichkeit, doch was genau ist eine Variable und wie kann diese genau verwendet werden?
Eine Variable ist wie ein Behälter, in dem Daten gespeichert werden können. Man kann sich eine Kiste vorstellen, in der etwas aufbewahrt werden kann und der Wert der Variable wäre somit der aufbewahrte Inhalt der Kiste.

kiste = 100

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.
:!: Dies ist sehr unterschiedlich zur Mathematik. Das = ist nicht ein „ist gleich“ sondern bedeutet „Wert einer Variablen zuweisen“.
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
kiste = 100 
kiste = 50 
kiste = 50 + kiste 

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,
  • Dann wird die Variable kiste auf 50 gesetzt, der Wert 100 wird überschrieben und geht somit verloren.
  • Die Variable kiste wird danach 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. Beispielsweise kann das folgende Programm ähnlich wie das Kisten-Beispiel für den Micro:bit programmiert werden:

kiste.py
from microbit import *
kiste=2
kiste=kiste * 3
display.scroll('KISTE=')
display.show(kiste)

In diesem Beispiel ist die Variable 'kiste' zuerst auf den Wert 2 gesetzt, dieser Wert wird aber direkt in der nächsten Zeile verdreifacht und anschliessend auch angezeigt. 

Aufgabe 3 - Variablen und mehr

  1. Studieren Sie das kurze Programm unten. Diskutieren Sie zu zweit, was hier programmiert wurde. Halten Sie dies kurz schriftlich fest.
  2. Schliessen Sie den Micro:bit an, kopieren Sie das Programm in Ihren Online-Editor die zweite Aufgabe mit einem anderen Login und einer anderen Aufgabe. Senden Sie dies dann an den Micro:bit und überprüfen Sie so die angestellten Vermutungen und Überlegungen von oben.
  3. Identifizieren Sie alle Variablen und Variablenwerte dieses Programms und markieren Sie diese, indem Sie den Code in ein ihr OneNote kopieren und kommentieren. :!: Kommentare können mit einem # direkt im Programm notiert werden.
  4. Was geschieht denn, wenn Sie die zweite Zeile (from math import *) aus dem Programm entfernen? Probieren Sie es aus und beschreiben Sie.
Rechner1.py
#Rechner 1 
from microbit import *
from math import *
 
#Variablen definieren und einen Wert zuweisen
a=3
b=5
c=pi
#Display.scroll dient zum Anzeigen von Werten oder Text
display.scroll('a=')
display.scroll(a)
display.scroll('b=')
display.scroll(b)
display.scroll('a+b=')
display.scroll(a+b)
display.scroll('c=')
display.scroll(c)

Weiter zu Importieren von Python-Modulen

  • gf1/programmieren2.1745429019.txt.gz
  • Zuletzt geändert: 2025/04/23 19:23
  • von marroc