Einzelnen Beitrag anzeigen

Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#6

AW: RUTIS Engine v2

  Alt 17. Jun 2011, 23:08
Ich glaube, ich habe einen Fehler gefunden

Delphi-Quellcode:
unit pi_crash;

interface

implementation

// siehe http://www.hjcaspar.de/hpxp/piprog.htm
function pi_newton(rounds: cardinal): double;
var
  x : double;
  cur_round: cardinal;
begin
  x := 3;

  { START VARIANTE 1 }
  for cur_round := 1 to rounds do
  begin
  // ENDE VARIANTE 1 }

  { START VARIANTE 2
  while (cur_round < rounds) do
  begin
    cur_round := cur_round + 1;
  // ENDE VARIANTE 2 }


    x:=x-sin(x)/cos(x);
  end;
  result := x;
end;

begin
    write('Pi is: '+ FloatToStr(pi_newton(5000)));
end.
In der ersten Variante gibt es das Ergebnis 32 (nicht mal annähernd Pi), Variante zwei führt zu einem netten Laufzeitfehler:
Code:
Compiling program...
Successfully compiled program
Runtime Error: (PI_CRASH:20) Address Error (Address ID = 31)
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.
  Mit Zitat antworten Zitat