Wahrscheinlichkeit für einen kürzbaren Bruch

Im Lehrmittel „Mathematik I“ für die Sekundarstufe wird im Arbeitsheft 1 auf Seite 141 folgende Tüftelaufgabe gestellt: Wie wahrscheinlich ist es, dass ein Bruch gekürzt werden kann, wenn dessen Zähler und Nenner jeweils aus einer zufälligen Zahl von 2 bis 9 gebildet werden?

Eine solche Aufgabe bietet sich förmlich dazu an, mit einem Computerprogramm gelöst zu werden. Ausserdem wird es dadurch möglich, die Aufgabenstellung zu verallgemeinern.

Ursprüngliche Aufgabe mit Snap! lösen

Ein klassisches Vorgehen zum Lösen dieser Aufgabe könnte so aussehen:

Alle möglichen Brüche werden mit einer verschachtelten for-Schleife erzeugt und dann darauf geprüft, ob sie gekürzt werden können.

Mathematisch betrachtet kann ein Bruch dann gekürzt werden, wenn die Zähler und Nenner einen gemeinsamen Teiler besitzen, der grösser ist als 1. Der Block für die Berechnung des ggTs kann in Snap! aus der Bibliothek „APL Primitives“ importiert werden und heisst dort gcd (engl. greatest common denominator).

Damit kann nun der Block „fraction can be simplified“ entsprechend programmiert werden.

Wenn der ggT grösser als 1 ist, dann kann der entsprechende Bruch gekürzt werden.

Lässt man das Programm laufen, berechnet es den korrekten Wert von 26/64 oder 40.625%. Allerdings ist die for-Schleife in Snap! nicht besonders effizient. Deshalb soll das gleiche Programm nun mit dem map-Block umgesetzt werden, was nebst einem Geschwindigkeitsgewinn weitere Vorteile mit sich bringt.

Zuerst sollen mit dem map-Block erst einmal nur die Brüche erzeugt werden:

Die einzelnen Brüche werden mit einem verschachtelten map-Block erzeugt.

Die Werte des äusseren map-Blockes werden dabei über den Parameter „value“ an den inneren map-Block weitergegeben. Der „value“-Parameter kann über einen Klick auf das kleine Dreieck im map-Block sichtbar gemacht werden.

Speichert man das Ergebnis der Berechnung in einer Variablen ab, kann man dieses sichtbar machen.

Der map-Block bildet eine Tabelle mit allen gewünschten Brüchen.

Nebst der schnelleren Durchführung der entsprechenden Rechenoperationen erhält man als Bonus noch eine Darstellung, welche im Gegensatz zur Variante mit der for-Schleife besser nachvollziehbar ist.

Wird nun der join-Block durch die Berechnung des ggTs ersetzt, erhält man auch die entsprechenden Werte in Tabellenform.

Für jeden Bruch wird in einer Tabelle festgehalten, mit welchem grössten Wert dieser gekürzt werden kann.

In der entsprechenden Tabelle werden nun die Werte sichtbar, mit denen die einzelnen Brüche gekürzt werden können.

Die Tabelle gibt für jeden Bruch an, mit welchem Wert dieser gekürzt werden kann.

Nun müssen nur noch die Fälle ausgezählt werden, bei denen der ggT grösser als 1 ist. Der schnellste Weg dazu ist die Verwendung des keep-Blockes, der die Tabelle auf die Zellen mit den gewünschten Werten reduziert. Damit dies funktioniert, muss die Tabelle allerdings zuerst noch in eine Liste umgewandelt werden, wozu aber auch ein entsprechender Befehl zu Verfügung steht.

Der keep-Block behält nur diejenigen Einträge, welche einem definierten Kriterium entsprechen. Denn flatten-Block findet man, indem man den Parameter für den length-Block anpasst.

Um die Anzahl der Einträge in der so erhaltenen Liste zu bestimmen, verwendet man noch den length-Block und kann diesen Wert wie weiter oben gezeigt durch die Anzahl aller Fälle (64) dividieren.

Verallgemeinerung der Problemstellung

Die Verwendung des map-Blockes hat gegenüber der Variante mit der for-Schleife zu einer besser nachvollziehbaren Repräsentation geführt. In der Verallgemeinerung des Problems soll nun auch der Geschwindigkeitsvorteil ausgespielt werden, indem nicht mehr nur ein Fall, sondern mehrere untersucht werden sollen, indem die Frage beantwortet wird, wie wahrscheinlich es eigentlich ist, dass ein beliebiger Bruch gekürzt werden kann. Dazu wird der zuletzt abgebildete Block in einen Funktionsblock verpackt.

Der Block verwendet einfachheitshalber eine quadratische Tabelle. Da diese gespiegelte Werte enthält, wäre eine weitere Optimierung möglich. Dadurch würde aber die Übersichtlichkeit leiden.

Diesen Block setzen wir nun so ein, dass Bruchtabellen mit den Dimensionen 1×1 bis 100×100 berechnet werden und für jede Tabelle die Wahrscheinlichkeit bestimmt wird, dass ein beliebiger Bruch in dieser Tabelle gekürzt werden kann.

Das Programm berechnet die Wahrscheinlichkeit dafür, dass ein Bruch in unterschiedlich grossen Mengen von Brüchen gekürzt werden kann.

Die Berechnung von 100 Werten nimmt etwas Zeit in Ansprung, ist aber viel schneller, als wenn das Problem mit der Technik der for-Schleifen gelöst wird.

Die Abbildung zeigt die ersten 10 Werte in der berechneten Liste.

Da eine Liste mit 100 Werten recht unübersichtlich ist, sollen diese nun noch grafisch ausgegeben werden, dazu eignet sich der plot-Block aus der „Frequency Distribution Analysis“-Bibliothek, der Werte als Balken- oder Liniengrafik darstellen kann.

Mit wenigen Zeilen kann eine Liste von Daten in Snap! visualisiert werden.
Der plot-Block bietet eine einfache Visualisierung der berechneten Daten.

Falls die Grafik etwas professioneller gestaltet werden soll, dann muss etwas mehr Aufwand betrieben werden.

Die grafische Ausgabe von Werten kann schnell aufwändig werden.
Die erweiterte Grafik erlaubt es, die Grösse einzelner Werte einzuschätzen. Ob sich der Aufwand bei der konkreten Aufgabenstellung lohnt, sei dahingestellt.

Wie schon in der einfachen Version der Grafik sind die Schwankungen der Wahrscheinlichkeiten in Abhängigkeit der einzelnen Bruchmengen deutlich erkennbar. Sie kommen dadurch zustande, dass neu hinzugekommene Werte nicht immer gleich viele Teiler haben. Kommt eine Primzahl neu dazu, sinkt die Wahrscheinlichkeit, besitzt die dazugekommene Zahl viele Teiler, steigt die Wahrscheinlichkeit. Es ist aber auch zu erkennen, dass die Werte bei grösseren Bruchmengen immer weniger schwanken. Eine Tatsache die auch bei anderen Zufallsexperimenten als „Gesetz der grossen Zahlen“ bezeichnet wird, wodurch sich der Kreis zum eigentlichen Thema der Wahrscheinlichkeit wieder schliesst.

Anwendung im Unterricht

Das vorgestellte Beispiel zeigt: Verzichtet man beim Lösen von Problemstellungen, wie sie hier vorgestellt wurde, auf die wiederholte Anwendung des Einsatzes von Bleistift und Papier und verwendet stattdessen den Computer, können Problemstellungen zwar nicht unbedingt schneller gelöst werden, denn die Entwicklung der entsprechenden Programmierung benötigt Zeit, aber die dadurch möglich werdende Flexibilisierung und Verallgemeinerung einer Aufgabenstellung erlaubt neue Ansichten und die Erweiterung einer geschlossenen Aufgabe zu einer weiter offenen, welche das Üben und die Anwendung wesentlicher Kompetenzen ermöglicht.

Eine Antwort auf „Wahrscheinlichkeit für einen kürzbaren Bruch“

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert