Entwickler-Ecke

Algorithmen, Optimierung und Assembler - Pi-näherungswerteberechnung ^^


neuruppiner - Di 12.04.05 19:38
Titel: Pi-näherungswerteberechnung ^^
hi leute
ich hab ein problem mit einer aufgabe
der benutzer kann nur n eingeben (n-ecken)
die rechnung sieht so aus:
pi/2= 2^2*4^2*6^2*...*n^2 / 1^2*3^2*5^2*7^2*...*2n+1

wie kann ich dem programm sagen wie er das nur mit eingabe von n berechnen kann???

ich wäre auch froh wenn ich überhaupt eine lösungvorschlag bekomme

danke im vorraus.

ps.: wenn ihr nicht wisst was ich versuche zu erklären, teilt mir das bitte mit
weil ich die verdammte aufgabe lösen will

pss.: wenns geht, bitte schnell


delfiphan - Di 12.04.05 19:42

Hallo und :welcome:
Ich frag mich, ob deine Formel denn überhaupt pi/2 ergibt :?:
Aber mach doch einfach ne Forschleife 1 bis n.

Sowas in der Art vielleicht:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
Var
 i: Integer;
 r: Extended;
const
 n = 100;
begin
 r := 1;
 For i := 1 to n do
  r := r*sqr(2*i)/sqr(2*i-1);
 Showmessage(floattostr(r/n));
end;


neuruppiner - Di 12.04.05 20:58

danke schon mal für deinen ansatz
sowas ähnliches hab ich auch schon auf die beine gestellt
das problem ist dass ich die formel da oben benutzen muss um pi/2 auszurechnen und dann erst pi ermitteln (also 2*(p/2) ^^)
mein problem ist dabei die formel so einzutragen dass delphi es checkt was er machen soll
den rest würde ich alleine schaffen
aber trotzdem danke schon mal


xaedes - Do 14.04.05 14:35

Ich versteh dein Problem nicht. Einfach mal 2nehmen und Delphi macht es. Was is denn jez das prob :?:


zemy - Do 14.04.05 17:30

Ich schätze mal, es geht darum, die Folge Delphi zu erklären, oda?


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
...
Zaehler:=1;
Nenner:=1

for n:=1 to 1000 do
 begin
  zaehler:=zaehler * (2*n) * (2*n);
  nenner:= nenner * (2 * n - 1) * (2 * n - 1);
 end;
pi_halbe:=zaehler/nenner;
...

Weiß nicht genau obs deine Rechenvorschrifft ist, aber sinngemäß würde ich es so machen, also Zähler und Nenner getrennt berrechnen