Einzelnen Beitrag anzeigen

Stoertebecker

Registriert seit: 29. Jan 2006
4 Beiträge
 
#1

Division by Zero?!

  Alt 15. Feb 2006, 14:48
Hi,
muss für die Schule ein Programm für die Annäherung der Zahl Pi schreiben.
Soll nach dem Gregory Verfahren funktionieren!
Zitat:
Wir nutzen einen Kreis mit Radius 1/2 da dieser den Umfang Pi hat.Damit nähern sich die Umfänge der einbeschrieben und umbeschriebenen Vielecke direkt der Zahl Pi an.
Es gilt demnach: u<Pi<U (u= Umfang einbeschriebenes n-Eck; U= Umfang einbeschriebenes n-Eck
Startwerte:
Einbeschriebense 6-Eck u=3
Umbeschriebenes 6-Eck U=2sqrt(3) = 3.464101615
Formeln:
Umfang des umbeschriebenen 2n-Ecks: U2n=2*Un*un/Un+un
Umfang des einbeschriebenen 2n-Ecks: u2n=Wurzel aus un*U2n
Ich weiß nicht wieso das nicht funktioniert:

Delphi-Quellcode:
program gregory;
var
  a,b,d,e: real;
  c,f,i: integer;

function Um(var la,lb:real):real;
begin
  la:=(2*la*lb)/(la+lb);
end;

function Ein(var sa,sb:real):real;
begin
  sa:=sqrt(sb*(2*sa*sb)/(sa+sb));
end;

begin
a:=3;
b:=2*sqrt(3);
writeln('Eingabe Genauigkeit in 10(hoch)x');
readln(c);
for i:=1 to c do f:=f*10;
repeat
d:=(Um(b,a))*f;
e:=(Ein(b,a))*f;
d:=round(e);
e:=round(e);
writeln((d/f));
writeln(e/f);
until d=e;
readln;

end.
  Mit Zitat antworten Zitat