{$N+$E+} Program MinReal; {Hleda delenim 2 nejmensi cislo v pohyblive desetinne tecce} {TYPE real=double; {real=single;} VAR i,n:integer; rmin,rmin0,rmin1:real; BEGIN n:=1; rmin0:=1; rmin:=0.5; WHILE rmin <> 0 DO BEGIN rmin0:=rmin; rmin:=rmin0/2.0; n:=n+1; { WriteLN('n=',n,' rmin0=',rmin0,' rmin=',rmin);} END; rmin:=0.9999*rmin0; Writeln('Doslo k podteceni v pohyblive tecce - Floating Point Underflow'); Writeln('Nejmensi cislo v typu Real je 2^-',n-1:0, ' = ',rmin0); Writeln('Kazde mensi REAL zmeneno na 0 - I cislo 0.9999*2^-',n-1:0,' = ', rmin); rmin1 := 0.5*rmin0; Writeln('Ale u single,double je teprve rmin1=0.5*rmin'); Writeln('zmeneno na 0 rmin1 = ',rmin1); Readln END.