Proc44. Описать функцию Arctg1(x, $$\epsilon$$) вещественного типа (параметры $$x$$, $$\epsilon$$ — вещественные, $$|x| < 1, \epsilon > 0$$), находящую приближенное значение функции $$arctg(x)$$: $$arctg(x) = x — x^3/3 + x^5/5 — … + (-1)^n*x^{2*n+1}/(2*n+1) + …$$ . В сумме учитывать все слагаемые, модуль которых больше $$\epsilon$$. С помощью Arctg1 найти приближенное значение $$arctg(x)$$ для данного $$x$$ при шести данных $$\epsilon$$.
Решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
#include <stdio.h> #include <math.h> float arctg1(float x, float e){ float arctg1_n=x,rez=0; int i=0; while (fabs(arctg1_n/(2*i+1))>e){ rez+=arctg1_n/(2*i+1); ++i; arctg1_n*=-x*x; } return rez; } int main(void) { float x,e; printf("X:"); scanf("%f", &x); int i; for(i=1;i<=6;++i){ printf("E: "); scanf("%f", &e); printf("Arctg: %f\n",arctg1(x,e)); } return 0; } |
Другие задачи из раздела Proc можно посмотреть здесь.
Комментарии: