уравнение
Добавлено: 26 фев 2006, 00:15
Дано уравнение . На форме 3 Edita, Memo и 1 кнопка для выполнения.
В 1 Edite задается начальное значение x, во втором конечное, а в третьем вводится шаг вычислений. Ну это все просто, все выводится. А когда устанавливаю например шаг h=0, то
программа зацикливается. Там нужен обработчик 0, я его по всякому делал , но все не то. Может кто подскажет как.
Вот код программы (без обработчика):
procedure TForm1.Calc1Click(Sender: TObject);
var y,x,h,xn,xk,m:single;
s,s1:string;
begin
xn:=strtofloat(Edit1.Text);
xk:=strtofloat(Edit2.Text);
if xn>xk then
begin
m:=xn;
xn:=xk;
xk:=m;
end;
h:=strtofloat(Edit3.Text);
x:=xn;
while x<=xk do
begin
y:=(5*x*x*x*x)-(3*x*x*x)+(15*x*x)-4;
memo1.Lines.Add(' arg '+ floattostrf(x,fffixed,3,2)+ ' func ' +floattostrf(y,fffixed,3,2));
x:=x+h;
end;
В 1 Edite задается начальное значение x, во втором конечное, а в третьем вводится шаг вычислений. Ну это все просто, все выводится. А когда устанавливаю например шаг h=0, то
программа зацикливается. Там нужен обработчик 0, я его по всякому делал , но все не то. Может кто подскажет как.
Вот код программы (без обработчика):
procedure TForm1.Calc1Click(Sender: TObject);
var y,x,h,xn,xk,m:single;
s,s1:string;
begin
xn:=strtofloat(Edit1.Text);
xk:=strtofloat(Edit2.Text);
if xn>xk then
begin
m:=xn;
xn:=xk;
xk:=m;
end;
h:=strtofloat(Edit3.Text);
x:=xn;
while x<=xk do
begin
y:=(5*x*x*x*x)-(3*x*x*x)+(15*x*x)-4;
memo1.Lines.Add(' arg '+ floattostrf(x,fffixed,3,2)+ ' func ' +floattostrf(y,fffixed,3,2));
x:=x+h;
end;