Скачать Solve Nonlinear Equations by the Newton Method

03.04.1985
Скачать файл (2,11 Кб)





program newdr;   { -> 243 }
var
   x,x2  : real;
   alldone   : boolean;
   error   : boolean;
 
external procedure cls;
 
procedure func(x: real;
      var fx,dfx: real);
begin
  fx:=x*x-2.0;
  dfx:=2.0*x
end;   { func }
 
procedure newton(var x: real);
const    tol   = 1.0E-6;
 
var   fx,dfx,dx,x1:   real;
 
begin   { newton }
  repeat
    x1:=x;
    func(x,fx,dfx);
    dx:=fx/dfx;
    x:=x1-dx;
    writeln('x=',x1,'  fx=',fx,'  dfx=',dfx);
  until abs(dx)<=abs(tol*x)
end;   { newton }
 
begin      { main program }
  cls;
  writeln;
  x:=2.0;   { first guess }
  newton(x);
  writeln;
  writeln(chr(7),'The solution is ',x);
  writeln
end.