Der zerbrochene Stab

Aus ProgrammingWiki
Archivierte Version vom 2012-11-01T23:28:35+00:00. Aktuelle Version

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?
Simulieren Sie diesen Vorgang in jeweils einer echtrekursiven bzw. endständig rekursiven Prozedur.

Dreieckprüfer

Im Abschnitt Bedingte Ausdrücke haben wir bereits ein Prädikat entwickelt, dass die Konstruierbarkeit eines Dreieckes zu drei vorgegebenen Seitenlängen überprüft:

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, soll uns das angezeigt werden:

Hinweis:

Mit dem Sprachelement let* können lokale Wertbindungen vereinbart werden, bei denen neu festzulegende Variablen auf bereits definierte Variablen zugreifen können.