Gedächtnistrainer Lösung: Unterschied zwischen den Versionen

Aus microbit - Das Schulbuch
Wechseln zu: Navigation, Suche
Zeile 8: Zeile 8:
 
[[Datei:Gt_Start.png|left]]
 
[[Datei:Gt_Start.png|left]]
 
<br clear=all>
 
<br clear=all>
Lösche den Inhlat der Textvariable, damit du eine neue Zeichenfolge darin abspeichern kannst.
+
Lösche den Inhalt der Textvariable, damit du eine neue Zeichenfolge darin abspeichern kannst.
 
<br clear=all>
 
<br clear=all>
 
[[Datei: Gt_TextÄndern.png|left]]
 
[[Datei: Gt_TextÄndern.png|left]]
Zeile 16: Zeile 16:
 
[[Datei: Gt_Wenn.png|left]]
 
[[Datei: Gt_Wenn.png|left]]
 
<br clear=all>
 
<br clear=all>
Füge entweder ein A oder ein B zur Zeichenfolge hinzu.
+
Füge entweder ein A oder ein B zur Zeichenfolge hinzu.
 
<br clear=all>
 
<br clear=all>
 
[[Datei: Gt_ABhinzufügen.png|left]]
 
[[Datei: Gt_ABhinzufügen.png|left]]
 
<br clear=all>
 
<br clear=all>
Zeige die Zeichenfolge auf dem LED-Raster an, wenn sie fertig erstellt ist. Dazu verwende den Befehl '''Zeichenfolge anzeigen''' und zeige die Variable Text an.
+
Zeige die Zeichenfolge auf dem LED-Raster an, wenn sie fertig erstellt ist. Verwende dazu den Befehl '''Zeichenfolge anzeigen''' und zeige die Variable Text an.
 
<br clear=all>
 
<br clear=all>
 
[[Datei: Gt_WennAgedrückt.png|left]]
 
[[Datei: Gt_WennAgedrückt.png|left]]
 
<br clear=all>
 
<br clear=all>
Beim Testen gibt dir das Programm eine zufälliges Zeichen A oder B zurück. Um sieben Zeichen anzuzeigen lege eine Schleife, um die Wenn-Ansonsten-Anweisung. Die Schleife soll sich sieben mal wiederholen.
+
Beim Testen gibt dir das Programm eine zufälliges Zeichen A oder B zurück. Damit der micro:bit sieben Zeichen anzeigt, lege eine Schleife um die '''wenn-ansonsten''' Anweisung. Diese Schleife wiederholt sich sieben mal.
 
<br clear=all>
 
<br clear=all>
 
[[Datei: Gt_WennAnsonstenAnweisung.png|left]]
 
[[Datei: Gt_WennAnsonstenAnweisung.png|left]]
Zeile 38: Zeile 38:
  
 
=== Wie kannst du mit dem micro:bit die eingegebenen Zeichen mit der Zeichenfolge vergleichen? ===
 
=== Wie kannst du mit dem micro:bit die eingegebenen Zeichen mit der Zeichenfolge vergleichen? ===
Um die Zeichen zu vergleichen wirst du 2 weitere Variablen brauchen. Eine Zählervariable, die bestimmt wie viele Zeichen du bereits eingegeben hast und eine Punktevariable, die bestimmt wie viele Zeichen du bereits richtig eingegeben hast. Beide Werte starten bei 0 solange wir noch keine Zeichen verglichen haben.  
+
Um die Zeichen zu vergleichen benötigt das Programm 2 weitere Variablen. Eine Variable Zähler, die bestimmt wie viele Zeichen du bereits eingegeben hast, und eine Variable Punkte, die bestimmt wie viele Zeichen du bereits richtig eingegeben hast. Beide Variablen starten mit dem Wert 0, solange wir noch keine Zeichen verglichen haben.  
 
<br clear=all>
 
<br clear=all>
 
[[Datei: Gt_ZaehlerPunkte.png|left]]
 
[[Datei: Gt_ZaehlerPunkte.png|left]]
 
<br clear=all>
 
<br clear=all>
Ab jetzt muss dein Programm solange weiterlaufen und auf eine Eingabe des Benutzers warten, bis dieser alle 7 Zeichen eingegeben hat. Dazu machst du eine Schleife, die überprüft, ob die Zählervariable noch unter 7 ist. Solange läuft diese Schleife, wenn die Zählervariable 7 übersteigt wird die Schleife abgebrochen und der Gedächtnistest ist beendet.
+
Dieses Programm verarbeitet solange Eingaben des Benutzers, bis dieser sieben Zeichen eingegeben hat. Verwende dazu eine Schleife, welche überprüft ob der Wert der Variable Zähler noch unter 7 ist. Wenn der Wert 7 übersteigt wird die Schleife abgebrochen und der Gedächtnistest ist beendet.
 
<br clear=all>
 
<br clear=all>
 
[[Datei: Gt_WährendZaehler.png|left]]
 
[[Datei: Gt_WährendZaehler.png|left]]
 
<br clear=all>
 
<br clear=all>
In dieser Schleife fragst du jetzt immer ob die Taste A gedrückt ist.
+
In dieser Schleife fragst du ob die Taste A gedrückt ist mit einer '''wenn-ansonsten''' Anweisung.  
 
<br clear=all>
 
<br clear=all>
 
[[Datei: Gt_WennAgedrückt2.png|left]]
 
[[Datei: Gt_WennAgedrückt2.png|left]]
 
<br clear=all>
 
<br clear=all>
Darin vergleichst du den Buchstaben an der Stelle der Zaehler Variable mit dem Buchstaben A. Wenn dieser ein A ist, so sollen die Punkte um 1 erhöht werden.
+
Wenn die Taste A gedrückt wird, überprüft das Programm, ob A die richtige Eingabe ist. 
In jedem Fall soll, wenn der Knopf A gedrückt wurde die Zaehler Variable um 1 erhöht werden.
+
Dazu vergleicht es die Eingabe mit der Zeichenfolge. Die erste Eingabe mit dem ersten Zeichen, die zweite Eingabe mit dem zweiten Zeichen, usw.. Die Variable Zähler zählt wie viele Zeichen der Benutzer bereits eingegeben hat. Daher legt die Variable Zähler fest, mit welchem Zeichen der Zeichenfolge die Eingabe verglichen wird. Verwende dazu den Befehl '''Zeichen aus ... an'''. Wenn die Eingabe mit der Zeichenfolge übereinstimmt erhöht das Programm die Punkte um eins. Die Variable Zähler wird um eins erhöht, egal ob die Eingabe übereinstimmt oder nicht.
 
<br clear=all>
 
<br clear=all>
 
[[Datei: Gt_BuchstabenVergleich.png|left|300px]]
 
[[Datei: Gt_BuchstabenVergleich.png|left|300px]]
 
<br clear=all>
 
<br clear=all>
Um dem Benutzer ein Feedback über seine gedrückte Taste zu geben, soll er sie auch angezeigt bekommen. Hier die Taste A. Wenn der micro:bit fertig ist mit dem Berechnen und bereit für eine neue Eingabe, soll er wieder nichts anzeigen.  
+
Als Feedback zeigt die LED-Matrix dem Benutzer seine gedrückte Taste an. In diesem Fall die Taste A. Wenn der micro:bit die Eingabe verarbeitet hat und bereit ist für eine neue Eingabe, löscht er seine LEDs. Der Benutzer kann nun das nächste Zeichen eingeben.
 
<br clear=all>
 
<br clear=all>
 
[[Datei: Gt_BildschirmLoeschen.png|left]]
 
[[Datei: Gt_BildschirmLoeschen.png|left]]
 
<br clear=all>
 
<br clear=all>
Den ganzen Block für die taste A kann man genauso für die Taste B programmieren.
+
Den ganzen Block für die Taste A kann man genauso für die Taste B programmieren.
 
<br clear=all>
 
<br clear=all>
 
[[Datei: Gt_ButtonB.png|left]]
 
[[Datei: Gt_ButtonB.png|left]]
 
<br clear=all>
 
<br clear=all>
Wenn der Benutzer nun alle 7 Zeichen eingegeben hat, geht das Programm aus der “während Zähler < 7 Schleife”. Dann soll der micro:bit noch die erreichten Punkte anzeigen.
+
Wenn der Benutzer sieben Zeichen eingegeben hat, geht das Programm aus der '''während Zähler < 7 Schleife'''. Dann zeigt der micro:bit die erreichten Punkte an.
 
<br clear=all>
 
<br clear=all>
 
[[Datei: Gt_PunkteZeigen.png|left]]
 
[[Datei: Gt_PunkteZeigen.png|left]]
 
<br clear=all>
 
<br clear=all>
Die gesamte Lösung sieht dann so aus:
+
Hier ist nochmal der fertige Lösungsvorschlag.
 
<br clear=all>
 
<br clear=all>
 
[[Datei: Gt_Loesung1.png|left]]
 
[[Datei: Gt_Loesung1.png|left]]

Version vom 26. November 2019, 13:28 Uhr

Hilfestellung und Lösung zur Gedächtnistrainer Aufgabe

Wie kannst du mit dem micro:bit eine zufällige Zeichenfolge anzeigen?

Hinweis1: Du musst jedes Zeichen einzeln zufällig erstellen

Starte das Programm mit der Taste A.

Gt Start.png


Lösche den Inhalt der Textvariable, damit du eine neue Zeichenfolge darin abspeichern kannst.

Gt TextÄndern.png


Um ein zufälliges Zeichen einzufügen kannst du einen wenn-ansonsten Baustein verwenden der mit einem zufälligen Wahr und Falschwert agiert.

Gt Wenn.png


Füge entweder ein A oder ein B zur Zeichenfolge hinzu.

Gt ABhinzufügen.png


Zeige die Zeichenfolge auf dem LED-Raster an, wenn sie fertig erstellt ist. Verwende dazu den Befehl Zeichenfolge anzeigen und zeige die Variable Text an.

Gt WennAgedrückt.png


Beim Testen gibt dir das Programm eine zufälliges Zeichen A oder B zurück. Damit der micro:bit sieben Zeichen anzeigt, lege eine Schleife um die wenn-ansonsten Anweisung. Diese Schleife wiederholt sich sieben mal.

Gt WennAnsonstenAnweisung.png


Teste nun das Programm.

Gt Test1.png


Füge einen Countdown ein.

Gt Contdown.png


Wie kannst du mit dem micro:bit die eingegebenen Zeichen mit der Zeichenfolge vergleichen?

Um die Zeichen zu vergleichen benötigt das Programm 2 weitere Variablen. Eine Variable Zähler, die bestimmt wie viele Zeichen du bereits eingegeben hast, und eine Variable Punkte, die bestimmt wie viele Zeichen du bereits richtig eingegeben hast. Beide Variablen starten mit dem Wert 0, solange wir noch keine Zeichen verglichen haben.

Gt ZaehlerPunkte.png


Dieses Programm verarbeitet solange Eingaben des Benutzers, bis dieser sieben Zeichen eingegeben hat. Verwende dazu eine Schleife, welche überprüft ob der Wert der Variable Zähler noch unter 7 ist. Wenn der Wert 7 übersteigt wird die Schleife abgebrochen und der Gedächtnistest ist beendet.

Gt WährendZaehler.png


In dieser Schleife fragst du ob die Taste A gedrückt ist mit einer wenn-ansonsten Anweisung.

Gt WennAgedrückt2.png


Wenn die Taste A gedrückt wird, überprüft das Programm, ob A die richtige Eingabe ist. Dazu vergleicht es die Eingabe mit der Zeichenfolge. Die erste Eingabe mit dem ersten Zeichen, die zweite Eingabe mit dem zweiten Zeichen, usw.. Die Variable Zähler zählt wie viele Zeichen der Benutzer bereits eingegeben hat. Daher legt die Variable Zähler fest, mit welchem Zeichen der Zeichenfolge die Eingabe verglichen wird. Verwende dazu den Befehl Zeichen aus ... an. Wenn die Eingabe mit der Zeichenfolge übereinstimmt erhöht das Programm die Punkte um eins. Die Variable Zähler wird um eins erhöht, egal ob die Eingabe übereinstimmt oder nicht.

Gt BuchstabenVergleich.png


Als Feedback zeigt die LED-Matrix dem Benutzer seine gedrückte Taste an. In diesem Fall die Taste A. Wenn der micro:bit die Eingabe verarbeitet hat und bereit ist für eine neue Eingabe, löscht er seine LEDs. Der Benutzer kann nun das nächste Zeichen eingeben.

Gt BildschirmLoeschen.png


Den ganzen Block für die Taste A kann man genauso für die Taste B programmieren.

Gt ButtonB.png


Wenn der Benutzer sieben Zeichen eingegeben hat, geht das Programm aus der während Zähler < 7 Schleife. Dann zeigt der micro:bit die erreichten Punkte an.

Gt PunkteZeigen.png


Hier ist nochmal der fertige Lösungsvorschlag.

Gt Loesung1.png
Gt Loesung2.png


Hier kommst du zum fertigen Programm auf makecode.org