Dem Zufall auf der Spur: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
Zeile 81: | Zeile 81: | ||
* Anstelle des Münzwurfs sollte der Zufallsgenerator "wahr" oder "falsch" liefern <spoiler text="Block"> [[Datei:Zufall_w_f.png|border|Zwei mögliche Zustände (wahr und falsch)?]]</spoiler> | * Anstelle des Münzwurfs sollte der Zufallsgenerator "wahr" oder "falsch" liefern <spoiler text="Block"> [[Datei:Zufall_w_f.png|border|Zwei mögliche Zustände (wahr und falsch)?]]</spoiler> | ||
```blocks | |||
input.onGesture(Gesture.Shake, function () { | |||
if (Math.randomBoolean()) { | |||
} else { | |||
} | |||
}) | |||
``` | |||
* Der Zufallsgenerator sollte durch Schütteln des micro:bit aufgerufen werden <spoiler text="Block"> [[Datei:Geschuettelt.png|border|Zwei mögliche Zustände (wahr und falsch)?]]</spoiler> | * Der Zufallsgenerator sollte durch Schütteln des micro:bit aufgerufen werden <spoiler text="Block"> [[Datei:Geschuettelt.png|border|Zwei mögliche Zustände (wahr und falsch)?]]</spoiler> | ||
* Je nach Bedingung "wahr" oder "falsch" sollten verschiedene Aktionen stattfinden <spoiler text="Block"> [[Datei:Wenndann.png|border]]</spoiler> | * Je nach Bedingung "wahr" oder "falsch" sollten verschiedene Aktionen stattfinden <spoiler text="Block"> [[Datei:Wenndann.png|border]]</spoiler> |
Version vom 29. Juni 2021, 19:35 Uhr
Den Zufall kann man vielleicht auch berechnen ...
Maria behauptet: Wenn man eine Münze oft genug wirft, dann kommen immer gleich viele Kopf- und Zahlergebnisse.
Das würde bedeuten: Wirft man 100-mal, dann kommen in der Gesamtrechnung immer 50 Kopf- und 50 Zahlergebnisse?
- Ist das exakt immer so?
- Ist das meistens so?
- Könnte es auch 10 zu 90 ausgehen?
Am besten du testest einmal mit einigen Würfen einer Münze – versuche einmal 10 Würfe: Lege dir eine Tabelle an, in die du die Ergebnisse einträgst.
Aufgabenstellung
Mit dem BBC micro:bit kannst du dies noch bequemer testen – du benützt den Zufallsgenerator des micro:bit. Entwickle ein Programm, mit dem man das Werfen der Münzen simulieren kann. Der Vorteil des Computers, sehr viele Würfe zu produzieren, sollte dabei ebenfalls zum Tragen kommen.
- Das Schütteln des micro:bit sollte den Zufallsgenerator aufrufen: Dieser soll Kopf oder Zahl produzieren.
- Taste A sollte die Anzahl der "Kopfwürfe" darstellen
- Taste B sollte die Anzahl der "Zahlwürfe" darstellen
- Taste A+B sollten die Gesamtanzahl der Versuche darstellen
- Neustart mit "Reset"-Taste (Erweiterung)
Materialien
- Eine Münze
- Ein Blatt Papier
- micro:bit
Zeitaufwand
- 1 Unterrichtseinheit
Schwierigkeitsgrad
Kompetenzen
Du solltest bereits
- einen Prozentanteil schätzen können
- eine Wertetabelle anlegen und auswerten können
Beim Programmieren lernst bzw. übst du
- Variablen zu verwenden
- Operatoren zu verwenden
- den Zufallsgenerator zu nutzen
- Bedingungen zu verwenden
Bei dieser Aufgabe lernst du auch
- ein NEUES Programm zu lesen und es zu interpretieren
Unterrichtsfächer
- Mathematik
- Informatik
- Deutsch
Tipps und Hilfestellungen
Erforderliche Programmierblöcke
Ziel
- Der Zufallsgenerator sollte 2 Zustände darstellen: wahr oder falsch
- Diese Zustände entsprechen den 2 Möglichkeiten beim Münzwurf
- Es sollte jeweils die Anzahl der Treffer für "wahr" und für "falsch" gezählt werden.
Vereinbarung
- "Wahr bedeutet Kopf" und "Falsch bedeutet Zahl"
Blöcke
- Anstelle des Münzwurfs sollte der Zufallsgenerator "wahr" oder "falsch" liefern <spoiler text="Block"> </spoiler>
```blocks input.onGesture(Gesture.Shake, function () {
if (Math.randomBoolean()) { } else { }
})
```
- Der Zufallsgenerator sollte durch Schütteln des micro:bit aufgerufen werden <spoiler text="Block"> </spoiler>
- Je nach Bedingung "wahr" oder "falsch" sollten verschiedene Aktionen stattfinden <spoiler text="Block"> </spoiler>
- Bestimmte Tastenereignisse für Taste A, B und A+B - müssen Daten anzeigen <spoiler text="Block"> </spoiler>
- Daten müssen angezeigt werden <spoiler text="Block"></spoiler>
- Bei Programmstart durchzuführen <spoiler text="Block"> </spoiler>
- Variablen müssen angelegt und initialisiert werden <spoiler text="Block"> </spoiler>
- Variablen müssen hochgezählt werden <spoiler text="Block"></spoiler>
- Variablen müssen addiert werden <spoiler text="Block"></spoiler>
Eckpfeiler zur Umsetzung
- Programmiere den micro:bit-Zufallsgenerator so, dass durch Schütteln ein Wert "wahr" oder "falsch" ermittelt wird (= Kopf oder Zahl)
- Wenn Taster "A" gedrückt wird, soll die Anzahl Kopfwürfe gezeigt werden
- Wenn Taster "B" gedrückt wird, soll die Anzahl Zahlwürfe gezeigt werden
- Wenn Taster "A+B" gedrückt werden, soll die Summe der Würfe dargestellt werden
- Zufallswerte erhält man aus dem Menü Mathematik "Wähle zufälligen Wahr- und Falsch-Wert"
- Wird Wahr ermittelt, so soll der Buchstabe "K" für Kopf erscheinen, andernfalls "Z" für Zahl.
- Hier benötigt man die logische Verzweigung "Wenn ... dann ... sonst"
- Das System sollte über zwei Variablen protokollieren, wie oft Kopf und wie oft Zahl geworfen wurde
Schritt für Schritt zur Lösung
- Hinweise zur Lösungsfindung und auch eine mögliche, komplette Lösung findest du auf der Lösungsseite zu diesem Beispiel
Präsentation und Reflexion
Allgemein
- Stelle dein Ergebnis vor! Was kann dein Produkt?
- Was hat dir bei der Entwicklung deines Produkts gefallen?
- Welche Schwierigkeiten hattest? Wie konntest du diese lösen?
- Erläutere, wie du dein Produkt programmiert hast!
- Was war bei dieser Aufgabe interessant für dich?
Projektspezifisch
- Welche Regeln wurden für Kopf und Zahl festgelegt? Welche andere Regeln für "Kopf oder Zahl" gäbe es noch?
- Welche Diskussionspunkte ergaben sich während des Spiels?
- Wo wird im Alltag der Wirtschaft mit Zufallsgenerator gearbeitet?
- Wo braucht man bei einem Computerspiel den Zufallsgenerator.
- Wo war bei diesem Beispiel der Vorteil des Computers zu sehen, wo war er eher ein Nachteil?
- Bei welcher Erweiterungsstufe war es am schwierigsten, einen Programmcode zu erstellen.
Weiterentwicklung
- Schleife: Du kannst mit einer Schleife nicht nur jeweils einen Wurf produzieren, sondern gleich 100 oder gar 1000 Würfe
- Das bedeutet: Wenn einmal geschüttelt wird, werden gleich 1000 Würfe simuliert
- Nütze dabei den Vorteil des Computers – er kann sehr schnell rechnen
Noch eine Erweiterungsaufgabe
Analyse eines fremden Programmcodes:
- Was stellt dieser Programmcode dar?
Dieses Programm ist hier aufrufbar: Link