Задание.
Напишите программу для вычисления суммы ряда åxk с заданной точностью e: |xk- xk-1|<e, где e>0.
Программа.
# include <stdio.h>
# include <math.h>
# include <iostream.h>
// Функция факториала
long int factor (int k)
{
int t=1;
while (k>1)
{
t*=k--;
return t;
}
}
//Функция определения к-того члена ряда
double xkt (double t, int k)
{
return (pow(t,2*k)/factor(2*k));
}
void main()
{
// переменная номера члена ряда
int k;
// переменная эбселент, характеризующая точность вычислений
double E;
// пользовательская переменная, заданная в уравнении ряда
double t;
// вводим значение пользовательской переменной
cout<<"input real t\n";
cin>>t;
// вводим значение эбселент
cout<<"input E\n";
cin>>E;
// вычисляем первые 2 члена последовательности
double xkt1= xkt(t,1);
double xkt2= xkt(t,2);
// задаем начальные значения номера члена последовательности и суммы ряда
k=1; double summ=0;
// с заданной точностью выполняем требуемые арифмитические действия,
// последовательно увеличивая сумму ряда
while (fabs(xkt1-xkt2)>E)
{
summ+=xkt1;
k++;
xkt1=xkt(t,k);
xkt2=xkt(t,k+1);
}
// выводим итоговую сумму
cout<<"summa ryda = "<<summ;
}
Результаты программы.
№ |
Переменная t |
Переменная E |
Ответ |
1 |
1 |
0.1 |
0.5 |
2 |
1 |
0.01 |
0.541667 |
3 |
1 |
0.001 |
0.543056 |
4 |
1 |
0.0001 |
0.543056 |
5 |
1 |
0.00001 |
0.54308 |
Вывод.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.