--PROGRAMMA : Tabella di soluzioni per X, sin(x), f(x), |sin(x)-f(x)|, sin(x)-f(x) --AUTORE : Geo Petrini __________ --DATA UM : 19.01.2001 sin(x) --AMBIENTE : Unix Gnatmake with ada.text_io, ada.float_text_io, ada.numerics.elementary_functions; use ada.text_io, ada.float_text_io, ada.numerics.elementary_functions; procedure e1sinx is function f (x : FLOAT) return FLOAT is begin return x-(x**3)/6.0 + (x**5)/120.0; end f; function vass (x : FLOAT) return FLOAT is begin return abs(sin(x)-f(x)); end vass; function erel (x : FLOAT) return FLOAT is begin return (sin(x)-f(x))/sin(x); end erel; x : FLOAT := 0.0; begin put(" x "); put(" sin(x) "); put(" f(x) "); put(" v. ass. "); put(" err. rel "); new_line; put("-----------"); put("-----------"); put("-----------"); put("-----------"); put("------------"); new_line; loop put(x , AFT=>8, EXP=>0 ); put(sin(x) , AFT=>8, EXP=>0 ); put(f(x) , AFT=>8, EXP=>0); put(vass(x) , AFT=>8, EXP=>0); if x > 0.0 then put(" "); put(erel(x), AFT=>8, EXP=>0); else put(" undef"); end if; new_line; x:= x+ 0.0500000000000; exit when x>1.05; end loop; new_line; end e1sinx;