Program PuntoFijo; (* Victor Manuel Iniestra Alvarez *)
(* An lisis Num‚rico Grupo E *)
VAR (* 6 Septiembre 1993 Punto fijo *)
tole:extended; (* Usa la recursi¢n para calcular *)
iteraciones:Word; (* g(x)=x *)
int1:extended;
Function g(x:extended):extended;
BEGIN
g:=exp(x)+exp(-x*ln(2))+2*cos(x)-6+x
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 al punto fijo que puedas: ');
ReadLn(x);
WriteLn;
END;
Procedure Busca(p0:extended;operaciones:Word);
CONST
d=5;
VAR
p:extended;
BEGIN
IF operaciones>=1 THEN
BEGIN
p:=g(p0);
WriteLn(iteraciones-operaciones+1:10,' ',p0:10:d,' ',
p:5:d,' ',ABS((p-p0)/p):10);
IF (p=g(p))OR(ABS((p-p0)/p)<=tole) THEN
BEGIN
WriteLn;
WriteLn('El punto fijo es ',p:19:d)
END
ELSE
Busca(p,operaciones-1)
END
ELSE
WriteLn('Se me acabo la cuerda.');
END;
BEGIN
ReadLn;
PideDatos(tole,int1,iteraciones);
WriteLn;
WriteLn('Punto Fijo:');
WriteLn;
WriteLn('F(x)=exp(x)+exp(-x*ln(2))+2*cos(x)-6 G(x)= exp(x)+exp(-x*ln(2))+2*cos(x)-6+x');
WriteLn;
WriteLn('x î [1,2]');
WriteLn;
WriteLn('G(1)=-0.7011 G(2)=2.8068 ');
WriteLn;
WriteLn(' iteraci¢n: Po: P: |P-Po|/|P|:');
WriteLn;
Busca(int1,iteraciones);
WriteLn;
WriteLn('Ya acabe.');
ReadLn
END.
               (
geocities.com/v.iniestra/apuntes)                   (
geocities.com/v.iniestra)