Цитата:
Сообщение от ayPinki
Метод Ньютона
|
Код:
uses Crt;
var
x,a,b,e,x_old: real;
function f1(z: real): real; {Основная функция}
begin
f1:= x*x*x + x*x*2 + 2;
end;
function f2(z:real): real; {Производная от основной функции}
begin
f2:=3*x*x+4*x ;
end;
begin
Clrscr;
a:=-3;
b:=1;
write('e=');
readln(e);
clrscr;
if f1(a)*f2(a)>0 then x:=a else x:=b;
x_old:=x+2*e;
while abs(x-x_old)>e do
begin
x_old:=x;
x:=x-f1(x)/f2(x);
end;
Writeln (' В интервале от ',a:0:0,' до ',b:0:0,' с погрешностью ',e:0:5);
Writeln ('x=',x:0:5,' f(x)=',f1(x):0:5);
Readln
end.