Hallo, heir mal wieder eine Frage vom einem, der nich so viel weiß. Da hier das Thema Zahlen in Delphi ist und ich nix anderes gefunden habe, poste ich einfach mal hier rein. Es geht um folgendes:
Habe neulich ein Progrämmchen geschrieben, das u.a. eine Wurzelberechnung nach Heron vornimmt. Soweit funktionierte auch alles ganz gut. Bei bestimmten Zahlenwerten aber scheint das Programm in eine Endlosschleife zu geraten und ich erkenne nicht, wo. Aber hier erst mal der code:
begin
ListBox1.Clear;
a:=zahl;
b:=1;
fehler:=1;
position:=ScrollBar1.Position;
For i:=1 to position do {position 1...5}
begin
fehler:=0.1*fehler;
end; {for}
schritt:=0;
Repeat
a:=(a+b)/2;
b:=zahl/a;
ListBox1.Items.Add(FloatToStr(b));
inc(schritt);
Edit4.Text:=IntToStr(schritt);
until (a-b)< fehler;
Edit2.Text:=FloatToStr(b);
end;
Mal so als Beispiel: Mit der Zahl 30234 fährt die Scroll-Bar der Listbox ins unendliche und das Programm hängt sich auf (ausschließlich nur bei einem Fehler von position=5, also 10hoch-5, sonst geht´s) Bei 31345 z.B. ist bei gleicher Fehlergenauigkeit 5 alles i.O. Kann mir jemand sagen, warum?