Der zerbrochene Stab

Aus ProgrammingWiki

Wechseln zu: Navigation, Suche

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.

Persönliche Werkzeuge