PROGRAM nestab1; {Demonstrace nestabilni rekurze Phi(n) = Phi^n, kde Phi = (-1+sqrt(5))/2 a rekurzni vzorec je Phi(n+1) = Phi(n-1) - Phi(n) Nestabilita vznika proto, ze 2.koren rovnice -(1+sqrt(5))/2 je v absolutni hodnote vetsi nez dany koren} {Vysledna data vypsana do FIPOK.DAT v poradi n,rel.err.,Phi(n),Phi^n} USES Crt; VAR fistar,fisouc,finew,fibas,fipr,fieps : REAL; n : INTEGER ; C1 : CHAR; F1 : TEXT; BEGIN ASSIGN( F1, 'FIPOK.DAT'); REWRITE (F1); fisouc := 1; finew := 0.5 * (sqrt(5) - 1); fibas := finew; fipr := finew; n := 1; fieps := 0; WRITELN (N:5,FIEPS:14:-4,FINEW:14:-4,FIPR:14:-4); WRITELN (F1,N:5,' ',FIEPS:14:-4,' ',FINEW:14:-4,' ',FIPR:14:-4); FOR N:=2 TO 100 DO BEGIN fistar := fisouc; fisouc := finew; fipr := fipr * fibas; finew := fistar - fisouc; fieps := (finew - fipr)/fipr; WRITELN (N:5,FIEPS:14:-4,FINEW:14:-4,FIPR:14:-4); WRITELN (F1,N:5,' ',FIEPS:14:-4,' ',FINEW:14:-4,' ',FIPR:14:-4); if n MOD 23 = 0 THEN BEGIN WRITELN('---- more ---'); C1:=READKEY;END; END; CLOSE (F1); END.