Скачиваний:
16
Добавлен:
01.05.2014
Размер:
22.02 Кб
Скачать

procedure newton(var x: real)

const tol = 1.0E6;

max = 20;

var fx,dfx,dx,x1 : real;

i : integer;

begin { newton }

error:=false;

i:=0;

repeat

i:=i+1;

x1:=x;

func(x,fx,dfx);

if dfx=0.0 then

begin

error:=true;

x:=1.0;

writeln(chr(7),'ERROR: slope zero')

end

else

begin

dx:=fx/dfx;

x:=x1-dx;

writeln('x=',x,' fx=',fx,' dfx=',dfx)

end

until

error or

(i>max) or

(abs(dx)<=abs(tol*x));

if i>max then

begin

writeln(chr(7),'ERROR: no convergence in ',max,' loops');

error:=true

end

end; { newton }

Соседние файлы в папке Лабораторная работа №12