x2 x4 x6 x2*n cos(x) = 1 - --- + --- - --- + ... + -------- + ... 2! 4! 6! (2*n)!Приближение считается полученным, если очередное слагаемое по модулю < eps.
Обсудим план решения.
x2*n (из условия --------- < eps ), (2*n)!
но лучше этого не делать, а воспользоваться циклом while или repeat.
Если вычислено очередное слагаемое, то для получения следующего слагаемого нужно:
Program Cosin1; var n: word; Cosa: double; xx, slagaem: double; eps,cos1: double; begin n:=0; cosa:= 1; slagaem:= 1; writeln('Вычислим косинус заданного угла.'); write('Введи угол (в радианах, <= 0.7)'); readln(xx); write('Введи допустимую погрешность (1E-5)--> '); readln(eps); Repeat slagaem := -slagaem*sqr(xx)/((n+1)*(n+2)); Cosa := Cosa + slagaem; inc(n,2); until abs(slagaem) < eps; cos1:= cos(xx); writeln('Cosa = ',cosa,' Cos(x) = ',cos1); writeln('Погрешность факт. = ',abs(cosa - cos1)); readln; end. ---- Результат работы: ----- Вычислим косинус заданного угла. Введи угол (в радианах, <= 0.7)0.71 Введи допустимую погрешность (1E-5)--> 1e-6 Cosa = 7.58361875956345E-0001 Cos(x) = 7.58361875990508E-0001 Погрешность факт. = 3.41634498468579E-0011