0 Daumen
563 Aufrufe

Aufgabe: Wie schreibt man ein Computerprogramm, welches zu folgendem Sachverhalt:
In den Teig von 30 Rosinenbrötchen mischt ein Bäcker 100 Rosinen. Wie diese verteilt sind, ist zufällig.


Folgendes berechnen kann:


a) Berechnen Sie die Wahrscheinlichkeit dafür, dass dabei genau ein Brötchen ohne Rosine entsteht.
b) Berechnen Sie die Wahrscheinlichkeit dafür, dass dabei genau fünf Brötchen ohne Rosine entstehen..
c) Berechnen Sie die Wahrscheinlichkeit dafür, dass dabei mindestens 5 Brötchen mit 5 Rosinen entstehen.



Avatar von

Lass dies hier 1 Millionen mal laufen und addiere dann die Ergebnisse ;-)

Was genau zeigt das an? Ich bekomme zum Beispiel:
"1 Brötchen mit 0 Rosinen und 3 mit 5 Rosinen"

Was genau zeigt das an?

das zeigt genau einen zufäligen Backvorgang an. Wenn der Bäcker noch einmal backt, bekommst Du ein anderes Ergebnis.

Und wenn man das ganz oft wiederholt und sich jedesmal merkt, ob 1 oder 5 Brötchen usw. ohne Rosinen dabei ist, bekommt man dann die Wahrscheinlichkeit. Empirisch versteht sich ... !

Die Wahrscheinlichkeit 1 Brötchen mit keiner Rosine zu erhalten beträgt übrigens etwa 40%.

Wie oft muss man ein Zufallsexperiment eigentlich durchführen um auf die Wahrscheinlichkeit schließen zu können? Ich finde

1 Millionen

etwas übertrieben. Bei Wahltagen befragt man doch auch nicht 1 Millionen Menschen, sondern nur so Tausend und hat dann schon eine relativ nahe Annäherung an die Wahrscheinlichkeit, dass die Partei tatsächlich gewählt wird.


nennt sich Monte-Carlo-Simulation. Nicht wegen dem Fürst, sondern wegen seinem Casino. Wenn man 1 Mio. mal Roulette spielt, ist die Wahrscheinlichkeit pleite zu gehen auch besser als wenn man es nur 1000 mal tut.

@Werner-Salomon

Könntest du vielleicht erklären wie genau du das programmiert hast? Würde so eine Simulation auch gerne für andere Zufallsexperimente erstellen können.

Könntest du vielleicht erklären wie genau du das programmiert hast? Würde so eine Simulation auch gerne für andere Zufallsexperimente erstellen können.

Verstehst du die Programmiersprache C++. Wenn nicht kannst du die lernen oder du lernst gleich eine die vielleicht etwas übersichtlicher ist und etwas mehr Praxisanwendung momentan findet.

Ich musste auf der Uni damals auch Pascal, C, C++, Fortran, Cobol und 6502 Assembler lernen.

Von den Sprachen verwende ich heute absolut keine mehr. Höchstens Pascal wenn ich jemandem Etwas zeigen will, weil Pseudo-Code schon sehr nahe an Pascal angelehnt ist. Und Pseudo-Code gibt die Grundstrukturen vor.

Auf youtube findest du etliche Programmierkurse. Es gibt auch viele Apps in denen man Programmieren lernen kann.

6502 Assembler

Alte Schule :)  tönt nach Apfel Nr. 2.

Es hat mich interessiert wie Interpreter abschneiden, z.B. Javascript:

Die Binomialverteilung bildet sich ganz gut ab?

[#Rosini - rolls count : %] n=10^6 Backdurchgänge
[ '0-1011295:(0.033709833333333335)',
'1-3487829:(0.11626096666666667)',
'2-5947958:(0.19826526666666666)',
'3-6704738:(0.22349126666666666)',
'4-5605606:(0.18685353333333332)',
'5-3711489:(0.1237163)',
'6-2028079:(0.06760263333333333)',
'7-937812:(0.0312604)',
'8-375254:(0.012508466666666667)',
'9-132945:(0.0044315)',
'10-41472:(0.0013824)',
'11-11598:(0.0003866)',
'12-3084:(0.0001028)',
'13-642:(0.0000214)',
'14-165:(0.0000055)',
'15-30:(0.000001)',
'16-3:(1e-7)',
'17-1:(3.3333333333333334e-8)' ]

SUM
Rolls      leere single   %
30000000  398213  0.013273766666666667

Real time: 4.464 s
User time: 4.420 s
Sys. time: 0.029 s

Sogar in Google-Tab ist die Laufzeit erträglich - allerdings schaltet er irgendwo nach ~ 6 000 000 ab - der Ofen läuft zu heiß ;-)

1 Antwort

0 Daumen

Mit der Tastatur. Aber das möchtest Du wahrscheinlich nicht hören. Ich würde damit anfangen, die Formel aufzuschreiben. Und dann zu überlegen, ob und wenn ja in welcher Programmiersprache es geschrieben werden soll.

Avatar von 43 k

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Mathelounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community