(*$B- Aufgabe 3.29 *) PROGRAM startwerte; VAR xa,x:real; FUNCTION f(x:real):real; VAR s,d : real; i,vor : integer; BEGIN s:=1; FOR i:=1 TO 11 DO s:=s*x; d := s-1; IF d>0 THEN vor :=1 ELSE vor :=-1; d:= exp(ln(abs(d))/11); f:= vor*d+0.5+0.05*sin(x/100) END; FUNCTION fs(x:real):real; VAR s,d : real; i,vor : integer; BEGIN s:=1; FOR i:=1 TO 10 DO s:=s*x; d:=s*x-1; d := exp(-10/11*ln(abs(d)))*s; fs := d+0.0005*cos(x/100) END; BEGIN writeln('Startwert eingeben'); writeln('Die Newtonfolge konvergiert z.B.fuer x0=0.9999'); writeln('Iteration Abbrechen mit CTRL-C'); read(x); REPEAT xa:=x; x := x-f(x)/fs(x); writeln(x); UNTIL abs(xa-x)