Der zerbrochene Stab
Aus ProgrammingWiki
Ein Stab mit der Länge von einem Meter fällt vom Tisch und zerbricht millimetergenau in höchstens drei Teile.
Mit welcher Wahrscheinlichkeit lässt sich aus den Bruchstücken ein Dreieck legen?
Inhaltsverzeichnis |
Dreieckprüfer
Im Abschnitt Bedingte Ausdrücke haben wir bereits ein Prädikat entwickelt, das die Konstruierbarkeit eines Dreieckes zu drei vorgegebenen Seitenlängen überprüft:
Quelltext überprüfen:
Simulation
Bildschirmausgabe
Zunächst wollen wir mit einer geeigneten Testprozedur den Vorgang simulieren, ohne eine konkrete Auswertung vorzunehmen. Mit der nachfolgenden Prozedur sollen zufällige Bruchstücke des Stabes generiert und angezeigt werden. Falls aus diesen Bruchstücken ein Dreieck gelegt werden kann, erscheint ein entsprechender Bildschirmhinweis:
Hinweis:
Mit dem Sprachelement let* können lokale Wertbindungen vereinbart werden, bei denen neu festzulegende Variablen auf bereits definierte Variablen zugreifen können.
Nach dem erfolgreichen Test sollen nun die Ereignisse gezählt werden, in denen aus den Bruchstücken ein beliebiges Dreieck gelegt werden kann.
Echt rekursive Prozedur
Quelltext überprüfen:
Endständig rekursive Prozedur
Quelltext überprüfen:
Relative Häufigkeit
Mit einer der beiden Implementationen kann nun die relative Häufigkeit bestimmt werden, die bei hinreichend großen Versuchszahlen zur Wahrscheinlichkeit konvergiert:
Zurück zu echten und endständigen Rekursionen.