4 Galton-Brett (fakultativ)
Entwickeln Sie ein Programm, das ein "Galton-Brett" und dessen Benutzung simuliert. Das
Simulationsergebnis soll im Konsolenfenster in Form von Zahlenkolonnen und als einfache Übersichtsgraphik ausgegeben werden.
Funktionsprinzip des Galton-Bretts
|
Mit Hilfe eines Galton-Bretts (nach Sir Francis
Galton, 1822-1911) lassen sich wichtige Verteilungen aus der
Statistik experimentell erzeugen. Dabei laufen auf einem geneigt
aufgestellten Nagelbrett Kugeln durch die Nagelreihen. In Sammelbehältern am Fuß des Nagelbretts werden die
Kugeln aufgefangen. Sind die Nägel im Brett so angeordnet, daß
der Abstand zweier nebeneinander liegender Nägel durch den darüberliegenden
Nagel genau halbiert wird, so ist als Verteilung der Kugeln in den
Sammelbehältern die Normalverteilung (Gaußsche Glockenkurve) zu
erwarten. |
|
Darstellung des Simulationsergebnisses
Das Ergebnis der Simulation soll durch Angabe der
Anzahl von Kugeln, die in 25 Sammelbehältern jeweils aufgefangen werden,
ausgegeben werden (Funktion textOutput).
Dabei sollen sowohl die Absolutwerte als auch normierte Werte, die sich
bei Division der Absolutwerte durch die Gesamtanzahl der Kugeln ergeben,
ausgegeben werden. Zusätzlich soll durch eine Funktion
graphicalOutput ein
einfaches (um 90 Grad gekipptes) Säulendiagramm (z.B. entsprechende
Anzahl von *)
im Konsolenfenster ausgegeben werden können.
Die Bedienung des Programms erfolgt im
Konsolenfenster durch Angabe der gewünschten Anzahl von Kugeln und der
gewünschten Darstellungsart des Ergebnisses. Wenn Sie wollen, können Sie
natürlich auch die Anzahl der Sammelbehälter nicht auf genau 25
beschränken, sondern vom Benutzer des Programms vorgeben lassen.
Implementierungshinweis
Es ist Zufall, ob eine
Kugel an einem Nagel nach links oder rechts rollt. Deshalb sollen
Zufallszahlen, die die Funktion
rand liefert, verwendet werden. Bedenken Sie, dass an jedem Nagel (d.h. auf
jeder Ebene) nur eine Entscheidung (links oder rechts) zu
treffen ist. Mit jeder Ebene, die die Kugel passiert, wird dadurch die
Menge der noch erreichbaren Sammelbehälter sukzessive eingeschränkt.
Dieses Verhalten soll in eine rekursive Funktion abgebildet werden.
|
|
|