Алексей
СС
Санек Соколов
Дихотомия:
program MD2;
function f(x:real):real;
begin f:=cos(x)+2-1/x end;
var a,b,x,eps:real;
begin
a:=0; b:=pi/2; eps:=1e-8;
repeat
x:=(a+b)/2; if f(a)*f(x)<=0 then b:=x else a:=x;
until abs(b-a)<=eps;
writeln('x= ',x:0:8); readln
end.
Ньютон:
program MN;
function f(x:real):real;
begin f:=cos(x)+2-1/x end;
function f1(x:real):real;
begin f1:=-sin(x)+1/(x*x) end;
var a,b,x,xo,eps:real;
begin
a:=0; b:=pi/2; eps:=1e-8; x:=(a+b)/2;
repeat
xo:=x; x:=x-f(x)/f1(x);
until abs(x-xo)<=eps;
writeln('x= ',x:0:8); readln
end.
Похожие вопросы