Функция:
Множитель для вычисления последующего члена ряда:
Код программы:
//--------------------------------------------------------------------------- #include<iostream.h> #include<conio.h> #include<math.h> #include<windows.h> #include <vcl.h> #pragma hdrstop #pragma argsused //--------------------------------------------------------------------------- char *rus(const char *text);//функция для распознавания русских символов int main(int argc, char* argv[]) { const int maxiter=500;//объявление именованной константы(максимально допустимое кол-во итераций) int n; //объявление переменной double x,eps=DBL_EPSILON; cout<<rus("Введите любые значения x, где x изменяется x≤1:")<<endl; cout<<rus("Введите аргумент x=");cin>>x; //ввод х long double arcctg=1,y=arcctg; //объявление переменных для работы с рядом for(n=0;fabs(arcctg)>eps;n++) { arcctg*=(-1*((2*n+1)*x*x))/(2*n+3);//вычисление значени¤ y+=((M_PI/2)+arcctg); //аргумента и функции if(n<maxiter) { cout<<rus("\nЗначение функции y=")<<y;cout<<rus(" для x=")<<x;//вывод cout<<rus(" вычислено после ")<<n+1;cout<<rus(" итераций")<<endl;//вывод } else { cout<<rus("\nРяд расходится!"); //выводится сообщение если количество break; //итераций больше чем maxiter } } getch(); return 0; } //--------------------------------------------------------------------------- char bufrus[256]; char* rus(const char* text) { CharToOem(text, bufrus); return bufrus; } //---------------------------------------------------------------------------
Результат работы программы:
Введите любые значения x, где x изменяется x<=1:
Введите аргумент x=0.1
Значение функции y=2.56746 для x=0.1 вычислено после 1 итераций
Значение функции y=4.13828 для x=0.1 вычислено после 2 итераций
Значение функции y=5.70908 для x=0.1 вычислено после 3 итераций
Значение функции y=7.27987 для x=0.1 вычислено после 4 итераций
Значение функции y=8.85067 для x=0.1 вычислено после 5 итераций
Значение функции y=10.4215 для x=0.1 вычислено после 6 итераций
Значение функции y=11.9923 для x=0.1 вычислено после 7 итераций
Значение функции y=13.5631 для x=0.1 вычислено после 8 итераций