Скачиваний:
14
Добавлен:
01.05.2014
Размер:
816 б
Скачать
program FuncNewton;
const n = 10;
var x:real;
    i:integer;

procedure newton(var x: real);
const	tol		= 1.0E-6;
	max		= 20;
var	fx,dfx,dx,x1	: real;
	i		: integer;
        error : boolean;
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
       if  dfx <> 0 then
	dx:=fx/dfx
        else
	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 }

begin
 begin
   x :=  1.5;
   newton(x);
  end;
end.
Соседние файлы в папке Лабораторная работа №12