Program NewtRaps;                  (* Victor Manuel Iniestra Alvarez *)
                                   (* An lisis Num‚rico      Grupo E *)
VAR                                (* 30 Agosto 1993  Newton-Raphson *)
   tole:extended;                  (* Usa la recursi¢n para calcular *)
   iteraciones:Word;               (* f(x)=0 con f'(x)=0             *)
   raiz:extended;

Function f(x:extended):extended;

         BEGIN
              f:=(2*x*x*x+x-1)/(sqrt(x*x*x*x+sqr(x)-2*x+1))
         END;

Function df(x:extended):extended;

         BEGIN
              df:=(2*x*x*x*x*x*x+3*x*x*x*x-8*x*x*x+6*x*x+3*x)/exp(3/2*ln(x*x*x*x+x*x-2*x+1))
         END;

Procedure PideDatos(VAR tol,x:extended;VAR ite:Word);

          BEGIN
               WriteLn;
               ite:=0;
               REPEAT
                     Write('Dame el n£mero de iteraciones: ');
                     ReadLn(ite);
               UNTIL (ite>0);
               REPEAT
                     Write('Dame la tolerancia : ');
                     ReadLn(tol);
               UNTIL (tol>0)AND(tol<1);
               WriteLn('Dame un valor lo m s cercano a la ra¡z que puedas: ');
               ReadLn(x);
               WriteLn;
          END;

Procedure Busca(p0:extended;operaciones:Word);

          CONST
               d=4;
          VAR
             p:extended;

          BEGIN
               IF operaciones>=1 THEN
               BEGIN
                    IF df(p0)<>0 THEN
                    BEGIN
                         p:=p0-f(p0)/df(p0);
                         IF (f(p)=0)OR(Abs((p-p0)/p)0) THEN
     BEGIN
        WriteLn;
        WriteLn('Newton:');
        WriteLn;
        WriteLn('F(x)=exp(x)+exp(-x*ln(2))+2*cos(x)-6');
        WriteLn;
        WriteLn('F''(x)=exp(x)-exp(-x*ln(2))*ln(2)-2*sin(x)');
        WriteLn;
        WriteLn(' iteraci¢n:           p0                p           |p-p0|/|p|:');
        WriteLn;
        Busca(raiz,iteraciones)
     END
     ELSE
         WriteLn('Felicidades le atinaste a la ra¡z.');
     WriteLn;
     WriteLn('Ya acabe.');
     ReadLn
END.

    Source: geocities.com/v.iniestra/apuntes/ana_num

               ( geocities.com/v.iniestra/apuntes)                   ( geocities.com/v.iniestra)