[Delphi] Bisektionsverfahren

bodo2005

Lt. Junior Grade
Registriert
Okt. 2005
Beiträge
333
Ist der Code zur Berechnung der Nullstellen einer Fkt. max. 4 Grades, leider gibt es immer wieder eine Endlosschleife, sieht jemand warum? (Code ist erset nen Schnippsel ganz am Anfang)

Code:
function rechne(a4, a3, a2, a1, a0: real):string;
var     a, b, x, erg: real;
        i: real;
begin

                while (a > 0) do
                begin
                        i:=-20;
                        a:=(a4*(i*i*i*i)+a3*(i*i*i)+a2*(i*i)+a1*i+a0);
                        i:=i+1;
                end;

        result:=floattostr(a);
end;

EDIT: Schon gesehen, liuegt an der i Dekla.r innerhalb der Schleife.
 
Zuletzt bearbeitet:
AW: Delphie - Bisektionsverfahren

i:=-20;

Schreib das mal oberhalb der Schleife. Ansonsten setzt du immer -20 ein.

//edit
Außerdem ist i am Ende um eins größer als die Nullstelle, weil i nach dem einsetzen um eins erhöht wird.

//edit2
Zu langsam.
 
Zuletzt bearbeitet:
Zurück
Oben