Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Wie errechne ich die Zahl pi? (https://www.delphipraxis.net/9951-wie-errechne-ich-die-zahl-pi.html)

GridGirl 8. Okt 2003 14:30


Wie errechne ich die Zahl pi?
 
Hi! :gruebel:
Jetzt haltet mich bitte net für total doof, aber ich hab echt keine Ahnung von dem ganzen!
Könnte mir jemand vielleicht erklären, wie ich die Zahl Pi mit nem Programm ausrechnen kann? Es sollen nur 3 Stellen hinterm Komma aus gegeben werden. Und unser Lehrer hat uns Folgende Hilfestellung gegeben: Wenn wir nen Kreis in einem Quatrat haben und dann Tröpfchen drauf regnen lassen und dann irgendwie das Verhältis ausrechnen.
Es wär voll lieb, wenn mir jemand helfen könnte!
Grid

Die Muhkuh 8. Okt 2003 14:55

Re: Wie errechne ich die Zahl pi?
 
:hi: Willkommen in Delphi-Praxis!

Ne doof bist du net!

zum die Zahl PI erechnen mach dir ein Label auf die Form und folgenden code
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Label1.caption := floattostr (Pi);
end;
Um zu runden lass im forum einfach mal suchen z.b Zahlen runden oder nur runden!


Spider

Chewie 8. Okt 2003 14:55

Re: Wie errechne ich die Zahl pi?
 
Das ganze nennt sich Monte-Carlo-Methode. Im [df]Monte-Carlo[/df] hab ich das mal erwähnt.

Christian Seehase 8. Okt 2003 15:00

Re: Wie errechne ich die Zahl pi?
 
Moin Grid,

erst einmal herzlich willkommen hier in der Delphi-PRAXiS.

Die Hilfestellung, die euch der Leherer gegeben hat beschreibt John von Neumanns "Monte Carlo Methode".
Sie dient zur Berechnung von Flächeninhalten unregelmässig geformter Flächen.
Das Prinzip basiert darauf, dass das Verhältnis der Punkte die gesamt verteilt wurden, zu denen die sich in der gesuchten Fläche befinden, genauso verhält, wie Gesamtfläche zum Flächeninhalt der gesuchten Fläche, wobei man natürlich die zu berechnende Fläche, mit einer leicht zu berechnenden Figur, eben einem Quadrat oder Rechteck umgibt. Diese sollte dann auch so knapp wie möglich die unbekannte Fläche umschliessen. Je mehr Punkte man verteilt umso genauer wird das Ergebnis.
Die Punkte werden hierbei zufällig verteilt (deshalb "Monte Carlo Methode", mit das bekannteste Spielcasino).

Code:
      Gesamte Anzahl Punkte           Flächeninhalt der umschliessenden Fläche
------------------------------------ = ----------------------------------------
Punkte in der unregelmässigen Fläche         gesuchter Flächeninhalt
=>

Code:
                          (Flächeninhalt der umschliessenden Fläche) * (Punkte in der unregelmässigen Fläche)
gesuchter Flächeninhalt = -----------------------------------------------------------------------------------
                                                       (Gesamte Anzahl Punkte)

Was Dir jetzt noch fehlt:
Die Punkte verteilen, und dabei zählen wieviele im Kreis liegen.
Eintragen der Flächenberechnungen für Kreis und Quadrat, und dieses nach pi umformen.

Ich hoffe, das hilft erst einmal weiter.

Honie 8. Okt 2003 15:13

Re: Wie errechne ich die Zahl pi?
 
Theorie

1. Stell Dir den Einheitskreis mit r=1 vor
Hierfür hast Du einen Flächeninhalt von pi*r² wobei r²=1²=1 also gleich pi ist.

2. Stell Dir jetzt das kleinste Quadrat vor, in das der Kreis vollständig hereinpaßt.
Dieses Quadrat hat eine Kantenlänge von 2*r und somit einen
Flächeninhalt von (2*r)² = (2*1)² = 2² = 4 ist.

3. Wenn Du jetzt per Zufall Punkte innerhalb des Quadrates auswählst (es regnet) und zählst wieviele
Punkte auch innerhalb des Kreises liegen kannst Du folgende Gleichung aufstellen:

Pi/4 = (Anzahl der Punkte im Kreis)/(Gesamtzahl der Punkte)

dies nach Pi aufgelöst ergibt die Lösung:

Pi := 4*Anzahl der Punkte im Kreis / Gesamtzahl der Punkte.

4. Anmerkung: Je mehr Punkte ausgewählt werden (stärker es regnet), desto genauer wird das Ergebnis!

Praktische Umsetzung folgt gleich.

Honie 8. Okt 2003 15:21

Re: Wie errechne ich die Zahl pi?
 
Delphi-Quellcode:

  function pi: real;

  const
    anzproben = 1000;

  var
    x,y: real;
    i,treffer: integer;
   

  begin
    treffer := 0;
    for i:= 1 to anzproben do begin
      x := random;   // ermitteln des Zufallspunktes
      y := random;
      if (x*x)+(y*y) < 1 then
        inc(treffer);
    end;
    result := 4*treffer/anzproben
  end;
Durch Veränderung von Anzproben kann die Genauigkeit geändert werden.

Code ist nicht geprüft, sollte aber funktionieren.

Anm: die if Bedingung ist der Pythagoras-Satz.

Dagon 8. Okt 2003 15:33

Re: Wie errechne ich die Zahl pi?
 
@Honie: Deine Variante funktioniert zwar, aber sie ist sehr ungenau und erfordert bei grossem anzproben sehr viel Rechenzeit.

Hier ist eine extrem schnelle Variante nach Borwein:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var a, b, aalt: Extended;
    p: array[0..5] of Extended;
    i:integer;
begin
  a:=sqrt(2);
  b:=0;
  p[0]:=2+a;
  i:=0;
  repeat
    aalt:=a;
    a := 1/2*(sqrt(aalt) + 1/sqrt(aalt));
    b := sqrt(aalt)*(b+1)/(b+aalt);
    p[i+1] := p[i]*b*(1+a)/(1+b);
    inc(i);
  until i>5;
end;
Sie ist jedoch nicht selbstkorrigierend, was aber keines Falls nötig ist, für nur 3 Stellen.

(Der Code stammt von http://joachim.mohr.rottenburg.bei.t-online.de)

Honie 8. Okt 2003 15:40

Re: Wie errechne ich die Zahl pi?
 
@the_master: Da hast Du natürlich recht, aber ich bin von der Vorgabe Ihres Lehrers
ausgegangen, der ja den Lösungsweg anschaulich vorbereitet hat.

BTW: Hast Du den Lösungsweg in Deinem Code verstanden und kannst erklären warum
das Ergebnis Pi ist? :wink:

GridGirl 8. Okt 2003 17:07

Re: Wie errechne ich die Zahl pi?
 

Vielen Dank an Alle!
Ihr seid klasse!
Ich denk, ich hab des jetzt so einigermaßen verstanden!
DANKE!!
Liebe Grüße
Grid

tommie-lie 8. Okt 2003 18:47

Re: Wie errechne ich die Zahl pi?
 
Ich will ja nix sagen, aber der erste Post:
Zitat:

Zitat von Spider
zum die Zahl PI erechnen mach dir ein Label auf die Form und folgenden code
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Label1.caption := floattostr (Pi);
end;

und der Zweite:
Zitat:

Zitat von Chewie
Das ganze nennt sich Monte-Carlo-Methode. Im [df]MONTE-CARLO[/df] hab ich das mal erwähnt.

geben mir irgendwie zu denken :tongue:

r_kerber 9. Okt 2003 08:32

Re: Wie errechne ich die Zahl pi?
 
Hallo tommie-lie,

wenn Du Dir die Posting-Uhrzeit anschaust, wirst Du feststellen, dass beide dies zur gleichen Zeit geschrieben haben. Somit Ist der Beitrag von Chewie keine Antwort auf Spider. :wall:

tommie-lie 9. Okt 2003 11:59

Re: Wie errechne ich die Zahl pi?
 
ja, aber trotzdem ist es lustig.
Außerdem, selbst wenn der Beitrag keine Antwort auf Spider war, ist eine Antowrt "Das nennt sich Monte-Carlo-Methode" auf die Frage "Wie berechner ich Pi?" schon... abwegig.

Touchdown 9. Okt 2003 12:21

Re: Wie errechne ich die Zahl pi?
 
Pi braucht man nicht berechnen, es ist quasi eine Naturkonstante die sich niemals ändert.

Man kann lediglich diese Konstante durch Berechnungen nachweisen und in seiner Art bestätigen :stupid:

r_kerber 9. Okt 2003 12:28

Re: Wie errechne ich die Zahl pi?
 
@tommie-lie: Kreis + Quadrat + zufällig fallende Tröpfchen ==> Monte-Carlo-Methode anwenden.

@Touchdown: Du hast zwar Recht, aber man kann mit der Berechnung wunderbar algorithmisches Programmieren lernen.

Christian Seehase 9. Okt 2003 14:08

Re: Wie errechne ich die Zahl pi?
 
Moin Touchdown,

Zitat:

Zitat von Touchdown
Pi braucht man nicht berechnen, es ist quasi eine Naturkonstante die sich niemals ändert.

Doch, denn wie willst Du sonst den Wert dieser Konstanten erhalten? Messen? ;-)

negaH 9. Okt 2003 14:08

Re: Wie errechne ich die Zahl pi?
 
Zitat:

Pi braucht man nicht berechnen, es ist quasi eine Naturkonstante die sich niemals ändert.
Was zu beweisen wäre, inwieweit
1.) ist Pi tatsächliche eine einmalige Konstante die NICHT durch andere Konstanten ersetzt werden kann
2.) wenn Pi eine transzendale Zahl ist dann kann sie garnicht konstant sein, als Zahl an sich. Denn man kann unendlich viele Stellen von Pi berechnen und trotzdem findet man kein Ende.

Beides ist bisher noch nicht bewiesen wurden !
Aber, deine Aussage ist schon richtig, es ist nur eine Frage inwieweit man sich auf die bestehenden Definitionen stützt.

Gruß Hagen

Chewie 9. Okt 2003 16:03

Re: Wie errechne ich die Zahl pi?
 
Zitat:

Zitat von tommie-lie
ja, aber trotzdem ist es lustig.
Außerdem, selbst wenn der Beitrag keine Antwort auf Spider war, ist eine Antowrt "Das nennt sich Monte-Carlo-Methode" auf die Frage "Wie berechner ich Pi?" schon... abwegig.

Wieso denn? Es wurde doch erklärt, wie Pi berechnet werden sollte. Und ich hab nur den Namen der Methode genannt.

Dagon 9. Okt 2003 17:20

Re: Wie errechne ich die Zahl pi?
 
Zitat:

Zitat von negaH
...eine transzendale Zahl...

Das heisst, so viel ich weiss, transzendente Zahl? :wink:

tommie-lie 9. Okt 2003 18:52

Re: Wie errechne ich die Zahl pi?
 
Zitat:

Zitat von Chewie
Wieso denn? Es wurde doch erklärt, wie Pi berechnet werden sollte.

Wurde es?
Hmm... tatsächlich.
Na dann heißt sowas tatsächlich Monte-Carlo.
Ich sollte vielleicht die Hilfestellungen vom Lehrer besser lesen, könnte hilfreich sein :mrgreen:

Hansa 9. Okt 2003 19:07

Re: Wie errechne ich die Zahl pi?
 
Habt ihr etwa in Mathe nicht aufgepaßt ? :lol: Alles aber ohne Gewähr: pi/4=1-1/3+1/5-1/7+- usw. ohne Ende. Pi hat also unendlich viele Stellen und kann mit unseren Zahlen nur angenähert berechnet werden, durch eine solche endliche Reihe, die eben irgendwann aufhört, was aber auch falsch ist. Die ist in Wirklichkeit unendlich.

Chewie 9. Okt 2003 19:15

Re: Wie errechne ich die Zahl pi?
 
Klar. Wir kennen nur Näherungsverfahren für Pi,und die Frage, ob Pi einen exakten Wert hat oder unendlich angenähert werden kann/muss, werden wohl eher die Theoretiker als die Praktiker entscheiden (falls sie es nicht schon getan haben :gruebel:).

Dagon 9. Okt 2003 19:18

Re: Wie errechne ich die Zahl pi?
 
Pi ist durch eine unendliche Summe darstellbar!

Hansa 9. Okt 2003 19:30

Re: Wie errechne ich die Zahl pi?
 
Was hab ich denn gesagt ? Durch eine unendliche Reihe und das ist eben eine Summe über die Elemente. Da die in diesem Fall immer kleiner werden ergibt sich ein Grenzwert und es wächst nicht ins Unendliche. :mrgreen:

Dagon 9. Okt 2003 20:05

Re: Wie errechne ich die Zahl pi?
 
Zitat:

Zitat von Hansa
[...] durch eine solche endliche Reihe, die eben irgendwann aufhört, was aber auch falsch ist. Die ist in Wirklichkeit unendlich.

Wegen dem war ich ein bisschen verwirrt.

Chewie 9. Okt 2003 20:20

Re: Wie errechne ich die Zahl pi?
 
Zitat:

Zitat von Hansa
[...]ergibt sich ein Grenzwert und es wächst nicht ins Unendliche. :mrgreen:

Wenn ich einen Grenzwert habe, deutet das doch daraufhin, dass ich eine Zahl nicht exakt darstellen kann. 1 und unendlich ist nicht 0, es geht nur gegen 0 bzw. der Grenzwert ist 0.

Dagon 9. Okt 2003 20:52

Re: Wie errechne ich die Zahl pi?
 
Zitat:

Zitat von Hansa
... durch eine solche endliche Reihe, die eben irgendwann aufhört ...

Handelt es sich dabei nicht um eine unendliche Reihe?

Hansa 9. Okt 2003 23:20

Re: Wie errechne ich die Zahl pi?
 
Zitat:

Zitat von the_master
Zitat:

Zitat von Hansa
pi/4=1-1/3+1/5-1/7+-

Handelt es sich dabei nicht um eine unendliche Reihe?

Man beachte das +-, das hört nie auf. 8)

Dagon 10. Okt 2003 09:01

Re: Wie errechne ich die Zahl pi?
 
Gut. :wink:
Auf jeden Fall ist diese Reihe schlussendlich genau gleich pi/4.

Robert Marquardt 10. Okt 2003 10:26

Re: Wie errechne ich die Zahl pi?
 
Es gibt eine ganze Menge Algorithmen zum Ausrechnen von PI.
Irgendwo habe ich eine Version, die je Umlauf des Algorithmus 4 Stellen auf einmal ausspuckt.
Ziemlich kurz und heftig schnell.

eF-eS 22. Okt 2004 19:50

Re: Wie errechne ich die Zahl pi?
 
Zitat:

Zitat von negaH
Was zu beweisen wäre, inwieweit
1.) ist Pi tatsächliche eine einmalige Konstante die NICHT durch andere Konstanten ersetzt werden kann

Beides ist bisher noch nicht bewiesen wurden !

pi ist solange konstant, wie Du Dich im Euklidschen Raum bewegst. ;-)

Hagen, Du hast ist in einem anderen Thread erwähnt, dass Du eine Langzahlbibiothek geschrieben hast. Wollte fragen, ob Du die irgendwie zur Verfügung stellen kannst, bitte.

Hintergrund meiner Frage: ich schreibe an einer Arbeit über pi: www.faszination-pi.de. Dafür interessiert es mich, welche unterschiedlichen Lösungsansätze es gibt. Ich werde natürlich Deine Arbeit nicht kopieren und als meinen ausgeben.

negaH 22. Okt 2004 19:54

Re: Wie errechne ich die Zahl pi?
 
Schau mal hier rein http://www.delphipraxis.net/internal...hlight=decmath

Gruß hagen

moritz 22. Okt 2004 20:00

Re: Wie errechne ich die Zahl pi?
 
http://www.delphipraxis.net/internal...ct.php?t=35010

Ein Programm zum Berechnen von PI nach der Monte-Carlo Methode. Darauß sollte es ganz gut ersichtlich sein.
Den Source kann ich dir schicken.

Gruß

(Achtung: Die Monte-Carlo Methode schätzt! )

eF-eS 22. Okt 2004 20:36

Re: Wie errechne ich die Zahl pi?
 
@Hagen: Ok, damit dürfte ich die nächsten Jahre wohl beschäftigt sein ;-) Danke!

@Moritz: auch an Dich vielen Dank. Prog ist prima. Würdest Du mir die Quelldateien bitte mailen?

glkgereon 26. Okt 2004 09:51

Re: Wie errechne ich die Zahl pi?
 
also wieso benutzt ihr ein quadrat mit a=2*r???

ich habn viertelkreis genommen....

einfach r=1 und a=r
Delphi-Quellcode:
while running do
  begin
  x:=random;
  y:=random;
  if x²+y²<1 then inc(pin);
  inc(p);
  Label1.Caption:=floattostr(4*pin/p);
  end;
fäddig...

tommie-lie 26. Okt 2004 09:58

Re: Wie errechne ich die Zahl pi?
 
Zitat:

Zitat von glkbkk
also wieso benutzt ihr ein quadrat mit a=2*r???

Um Pi zu berechnen.

Zitat:

Zitat von glkbkk
ich habn viertelkreis genommen....

Dann kriegst du nur Pi/4 und musst später mit 4 Multiplizieren (was du ja auch tust).

Es ist im Prinzip sowas von egal ob man 'nen ganzen Kreis nimmt, 'nen Viertelkreis oder einen Halbkreis, sofern man weiß von wo bis wo die x- und y-Werte gehen können um Sinn zu ergeben.

glkgereon 26. Okt 2004 10:27

Re: Wie errechne ich die Zahl pi?
 
naja, aber wie prüfst du denn ob die sich im kreis befinden?
is das nicht wesentlich komplizierter?

tommie-lie 26. Okt 2004 10:40

Re: Wie errechne ich die Zahl pi?
 
Naja, eigentlich nicht. Ich suche mir Zufallszahlen zwischen -1 und 1 (Random(2)-1), quadriere sie, addiere sie und ziehe die Wurzel von, und wenn das Ergebnis <=1 ist, ist der Punkt im Kreis. Was anderes als was du machst ist es auch nicht ;-)

tommie-lie 26. Okt 2004 10:48

Re: Wie errechne ich die Zahl pi?
 
/me hat grad' mal ein wenig rumgerechnet und /me merkt grade, daß alles was er gesagt hat Schwachsinn war und /me hätte gerne, daß das alles gaaanz schnell vergessen wird...

runger 26. Okt 2004 10:58

Re: Wie errechne ich die Zahl pi?
 
Hallo,

was tut ihr da eigentlich?
Ihr nehmt irgendeinem faulen Schüler die Arbeit und das Denken ab.
Ist dieses Forum dafür gedacht?

Ein Tip: Monte Carlo Methode hätte voll gereicht.
Muss das sein, dass ihr ihm auch noch die Lösung präsentiert?
Ich jedenfalls frage meine Auszubildenden ab und wehe da ist so ein faules Individuum.

Rainer

Treffnix 26. Okt 2004 11:03

Re: Wie errechne ich die Zahl pi?
 
:gruebel:

Da regst du dich ein bissl spät auf. Der Thread ist über ein Jahr alt und wurde nur von eF-eS für seine Recherche wieder aufgewärmt. Die Hausaufgabe wird der Ersteller wohl mittlerweile abgegeben haben ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:22 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz