#Programm 1 from microbit import * display.scroll('Press A') #Text wird angezeigt. sleep(3000) #3000ms Zeit,in welcher der Benutzer den Knopf A einige Male drücken muss. 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.
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 EVA-Prinzip ist hier klar erkennbar, die Eingabe ist das Drücken des Knopfes und die Ausgabe, das Anzeigen der Anzahl Knopfbetätigungen.
Das Programm ist sehr kurz und es fällt auf, dass es nur einen Durchlauf gibt. Durch ein erneutes Starten des Programms (die Stop- und Starttaste bei der Simulation oder dem Aus- und Einschalten des Micro:bits) kann ein weiteres Mal gezählt werden, wie oft A gedrückt wird.
Das Programm kann natürlich auch wie folgt erweitert werden.
Erinnerung:
Grundlage für einen Algorithmus ist das EVA-Prinzip.
E 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.
V steht für Verarbeitung. Die Eingaben werden verarbeitet, meist durchlaufen Sie ein Programm. Das Programm ist oft ein in Computersprache niedergeschriebener Algorithmus.\\
A für Ausgabe: Die Ausgaben erfolgen über den Bildschirm, einen Drucker oder das Senden der Ausgabeinformation an ein anderes System.
#Programm 2 from microbit import * display.scroll('Press A') #Erster Durchlauf sleep(3000) knopfdruck=button_a.get_presses() display.scroll(knopfdruck) sleep(2000) display.scroll('Repress A') #Zweiter Durchlauf sleep(3000) knopfdruck=button_a.get_presses() display.scroll(knopfdruck) sleep(2000) display.scroll('Repress A') #Dritter Durchlauf sleep(3000) knopfdruck=button_a.get_presses() display.scroll(knopfdruck)
Im obigen Programm werden drei Zeilen wiederholt. Um dies effizienter zu programmieren, kann eine Schleife verwendet werden. Eine Schleife verhindert, dass Code-Blöcke mehrmals geschrieben werden müssen, und verbessert die Lesbarkeit.
Um das Programmieren zu kürzen aber das Programm nicht zu verändern, kann entweder die while-Schleife oder die for-Schleife verwendet werden. Wir lernen das Nutzen der while-Schleife, denn diese Schleifenart benötigt keine Listen und ist daher einfacher zu verstehen ist.
#Programm 3 from microbit import * zaehler=1 #ein Zähler ist nötig, um eine Bedingung, ein Stop-Kriterium zu definieren while (zaehler<4): display.scroll('Press A') sleep(3000) knopfdruck=button_a.get_presses() display.scroll(knopfdruck) zaehler=zaehler+1 #Der Zähler muss um eins erhöht werden!
Hier ist ein Zähler nötig, denn dadurch kann die Anzahl Wiederholungen durch das Erhöhen in jedem Durchlauf (zaehler = zaehler+1)gezählt und somit auch festgelegt werden. Die while-Bedingung ist genau dreimal erfüllt.
Die while-Schleife kann auch als endlose Schleife genutzt werden. (Erinnern Sie sich bei Scratch: „wiederhole fortlaufend“)
Um diese Endlosschleife zu programmieren, kann
while (True=True): oder vereinfacht while True: genutzt werden.
Diese Schleife wird während immer ausgeführt, solange das Programm ausgeführt wird. Es gibt somit keine Stopp-Bedingung. Diese spezielle Schleifenart wird oft verwendet, um eine Methode immer überprüfen zu lassen, ob ein Knopf gedrückt oder ein Sensor aktiviert wird oder ähnlich. Dies ist die grosse Stärke einer while-Schleife.
Aufgabe 9
Ein Programm wurde geschrieben und sieht bei der Ausführung wie folgt aus:
Schreiben Sie dieses Programm, dabei sollte eine while-Schleife verwendet werden.
Aufgabe 10
while True Schleife, um immer zwischen dem Smiley und dem zweiten Symbol abzuwechseln, dabei sollte die Stärke der LED-Leuchtkraft des Smileys soll langsam zunehmen und dann löschen.Aufgabe 9
from microbit import * zaehler=1 #ein Zähler ist nötig, um eine Bedingung, ein Stop-Kriterium zu definieren while (zaehler<5): display.scroll(2*zaehler) zaehler=zaehler+1 display.scroll('stop')
Aufgabe 10
from microbit import * while True: display.set_pixel(1,1,9) display.set_pixel(3,1,3) display.set_pixel(4,3,3) display.set_pixel(0,3,5) display.set_pixel(1,1,5) display.set_pixel(3,1,5) display.set_pixel(3,3,3) display.set_pixel(2,3,5) display.set_pixel(1,3,5) sleep(400) display.show(Image.HAPPY) sleep(400) display.clear()