Projektarbeit: Lotto 6 aus 49

Aus ProgrammingWiki
Archivierte Version vom 2018-12-16T09:47:58+00:00. Aktuelle Version

Inhaltsverzeichnis

Lotto_Ziehungsgeraet1.jpg
Ziehungsgerät zum Lotto 6 aus 49

Vorüberlegungen

In einer beliebigen Anzahl sollen Lottoziehungen 6 aus 49 simuliert werden.
Zunächst ist es kein Problem, Zufallszahlen zwischen 1 und 49 zu bestimmen (s. Zufallszahlen in Datentypen und Progammstrukturen. Wir sollten aber daran denken, dass diese Zahlen ohne Zurücklegen gezogen werden und damit paarweise verschieden sein müssen.

Algorithmus

Der nachfolgende Algorithmus kann als Orientierung benutzt werden, um eine korrekte Lottoziehung zu simulieren. Natürlich wollen wir dann Lottoziehungen in einer beliebigen Anzahl generieren.

  • Lege ein leeres Datenfeld für eine Lottoziehung fest.
  • Wiederhole den nachfolgenden Algorithmus für 6 Lotto-Zahlen:
    • Erzeuge eine Zufallszahl zwischen 1 und 49.
    • Prüfe, ob sie bereits Element des aktuellen Datenfeldes ist.
    • Trifft dieser Fall zu, wiederhole die Ziehung bei unverändertem Datenfeld.
    • Anderenfalls füge die Zufallszahl dem aktuellen Datenfeld hinzu.

Hinweis: Mit der Eigenschaft

index = myFeld.indexOf(13);

kann ermttelt werden, welchen Feldindex das Element mit dem Wert 13 besitzt. Sollte es nicht existieren, wird -1 zurück gegeben.

Implementation

Zunächst erzeugen wir eine korrekte Lotto-Ziehung:

Nun können wir eine größere Anzahl korrekter Ziehungen generieren:

Gleichverteilung

Wir wollen uns von einer hinreichenden Güte der Lottozahlen überzeugen.
Dazu zählen wir das Auftreten jeder gezogenen Lottozahl in einem 49-elementigen Datenfeld. Bei einer großen Anzahl von Ziehungen müsste sich eine Gleichverteilung der Lottozahlen ergeben. Diese visualisieren wir in einem Balkendiagramm.

Ihr Browser unterstützt Canvas nicht.