# Nährwert für PI berechnen/simulieren



## Guest (8. Mrz 2008)

hey...leute
ich habe bald test und hab bei diesem übungsprogramm ziemliche probleme, wenn mir jemand einen ansatz, ösungsvorschlag, pseudocode oder ähnliches anbieten könnte wäre das toll!!!
achja und noch was kleineres: wie kann ich einen text in roterschrift ausgeben?
icq#: 364-214-866



das problem-programm 

Programmiere einen Simulator zur Ermittlung eines Näherungswerts für PI.

Die Idee:
Man wirft Schneebälle auf eine quadratische Wiese. Es ist ein roter Kreis gespannt, der in das Quadrat passt und jede Seite berührt. Bei gleichmäßig über die Fläche verteilten Schneebällen führt das Verhältnis der Schneebälle im Kreis zur Gesamtzahl der Schneebälle zu einem Näherungswert von PI.

Radius des Kreises: r
Seitenlänge des Quadrats: 2r
Fläche des Kreises r*r*PI
Fläche des Rechtecks: 2*r*2*r
Überlege dir aus diesen Formeln eine Formel zur Berechnung des Näherungswertes für PI.

Layout:
Ein quadratisches JPanel mit 501x501 Pixeln. Hier muss die minimale Größe gleich der maximalen Größe sein. Der Hintergrund ist grün.
Ein roter Kreis mit Mittelpunkt auf (250,250) und Radius 250 wird im JPanel gezeichnet.

Dazu ein JSlider zum Einstellen der Anzahl der Würfe im Bereich 10000 bis 100000.
Ein JButton zum Starten der Simulation.
JLabels zum Anzeigen der Ergebniswerte:

    * Anzahl der Schneebälle gesamt
    * Anzahl der Schneebälle im Kreis
    * Näherungswert für PI

Verlauf der Simulation:
Das JPanel wird initialisiert: grüner Hintergrund, roter Kreis.
Für jeden Wurf werden die x-Koordinate und die y-Koordinate per Zufallsgenerator im Bereich 0..500 ermittelt.
Mit Hilfe des Satzes von Pythagoras wird berechnet, ob der Punkt im roten Kreis ist.
Die Anzahlen werden entsprechend gezählt.
Der Schneeball wird in weißer Farbe an seiner Position gezeichnet.

Am Ende wird der Näherungswert für PI berechnet und angezeigt.


----------



## Wildcard (8. Mrz 2008)

Das ist ein Monte-Carlo Algorithmus
http://de.wikipedia.org/wiki/Monte-Carlo-Algorithmus


----------



## 0x7F800000 (8. Mrz 2008)

und womit hast du da konkret "ziemliche probleme" ? Mit dem Satz des Pythagoras, dem Flächeninhalt des Quadrates oder hat man euch nie erzählt wie ihr ein fenster aufmacht? :roll: hast du schon irgendwelchen code..? Bzw. was erwartest du denn als Lösungsansatz, steht doch alles auf pixel genau da, was du tun musst... Also: mach einen editor auf, tipp das programm ein, wenn du auf irgendwelche konkrete schwierigkeiten stößt: dann weiterfragen...


----------

