Gedächtnistrainer Lösung: Unterschied zwischen den Versionen

Aus microbit - Das Schulbuch
Wechseln zu: Navigation, Suche
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 
== Hilfestellung und Lösung zur Gedächtnistrainer Aufgabe ==
 
== Hilfestellung und Lösung zur Gedächtnistrainer Aufgabe ==
 
=== Wie kannst du mit dem micro:bit eine zufällige Zeichenfolge anzeigen? ===
 
=== Wie kannst du mit dem micro:bit eine zufällige Zeichenfolge anzeigen? ===
==== Hinweis1: Du musst jedes Zeichen einzeln zufällig erstelen ====
+
 
Zuerst muss das Programm durch die Taste A gestartet werden. Das schaffst du einfach mit folgender Anweisung.
+
 
 +
==== Hinweis1: Du musst jedes Zeichen einzeln zufällig erstellen. ====
 +
Starte das Programm mit der Taste A.
 
<br clear=all>
 
<br clear=all>
 
[[Datei:Gt_Start.png|left]]
 
[[Datei:Gt_Start.png|left]]
 
<br clear=all>
 
<br clear=all>
Dann sollst du die Textvariable leer machen. In diese wirst du dann deine Zeichenfolge speichern.  
+
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]]
 
<br clear=all>
 
<br clear=all>
Um ein zufälliges Zeichen einzufügen kannst du einen wenn-ansonsten-Baustein verwenden der mit einem zufälligen Wahr und Falschwert agiert.
+
Um ein zufälliges Zeichen einzufügen, kannst du einen '''wenn-ansonsten''' Baustein verwenden, der mit einem zufälligen Wahr- und Falschwert agiert.
 
<br clear=all>
 
<br clear=all>
 
[[Datei: Gt_Wenn.png|left]]
 
[[Datei: Gt_Wenn.png|left]]
 
<br clear=all>
 
<br clear=all>
Bei wahr soll ein A zur Zeichenfolge hinzugefügt werden. Bei falsch ein B.  
+
Füge entweder A oder 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>
Damit der Benutzer die Zeichen auch sieht müssen sie noch angezeigt werden. Dazu verwende den Befehl Zeichenfolge anzeigen und zeige die Variable Text am Ende damit an. Das ganze Programm sieht jetzt so aus:
+
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>
Das kannst du jetzt testen und es sollte dir ein zufälliges Zeichen A oder B zurückgeben. Um jetzt 7 Zeichen zu bekommen musst du eine Schleife rund um die Wenn-Ansonsten-Anweisung legen, die sich 7x wiederholt.
+
Beim Testen gibt dir das Programm ein zufälliges Zeichen, entweder 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]]
 
<br clear=all>
 
<br clear=all>
Teste das gleich mal.
+
Teste nun das Programm.
 
<br clear=all>
 
<br clear=all>
 
[[Datei: Gt_Test1.png|left]]
 
[[Datei: Gt_Test1.png|left]]
 
<br clear=all>
 
<br clear=all>
Dann füge den Countdown hinzu, nachdem das Spiel beginnt.
+
Füge einen Countdown ein.
 
<br clear=all>
 
<br clear=all>
 
[[Datei: Gt_Contdown.png|left]]
 
[[Datei: Gt_Contdown.png|left]]
Zeile 36: 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 zwei 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, und in dieser Form weiter. 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 ebenso in dieser Form 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 angegeben.
 
<br clear=all>
 
<br clear=all>
 
[[Datei: Gt_Loesung1.png|left]]
 
[[Datei: Gt_Loesung1.png|left]]

Aktuelle Version vom 3. Dezember 2019, 11:10 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 A oder 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 ein zufälliges Zeichen, entweder 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 zwei 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, und in dieser Form weiter. 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 ebenso in dieser Form 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 angegeben.

Gt Loesung1.png
Gt Loesung2.png


Hier kommst du zum fertigen Programm auf makecode.org