Лаба 3 / Лаба 3
.docxЗадание: Для бесконечного числового ряда члены которого вычисляются по формуле, соответствующей индивидуальному варианту, вычислить сумму первых n членов ряда с использованием
Функции double Sum(int n).
Ход работы
Вариант № 8
Уровень А
#include <iomanip>
#include <iostream>
#include <cmath>
using namespace std;
double Sum(double n)
{
double sum = 0;
int i;
for (i = 1; i <= n; i++)
{sum += n / (i * i* i + i + 1);}
return sum;
}
int main()
{
int n;
cout << "n = ";
cin>>n;
cout<<"sum ="<<Sum(n);
return 0;
}
Уровень В
Для бесконечного числового ряда члены которого вычисляются по формуле, соответствующей индивидуальному варианту, вычислить приближенную сумму двумя способами: сумму первых n членов ряда и сумму с точностью до eps (эпсилон) в двух разных функциях:
double Sum1(int n)
double Sum2(double eps).
Запрещается использование функции pow() и условных операторов «if» и «? : ».
#include <iomanip>
#include <iostream>
#include <cmath>
using namespace std;
double Sum1(double n)
{
double sum = 0;
int i;
for (i = 1; i <= n; i++)
{
sum += n / (i * i * i + i + 1);
}
return sum;
}
double Sum2(double eps)
{
double sum = 1.0 / 6.0, t = 1.0 / 6.0;
for (int i = 1; abs(t) > eps; ++i)
{
t *= -i / (i * i + i - 1.0);
sum += t;
}
return sum;
}
int main()
{
int n, eps;
cout << "n = ";
cin>>n;
cout << "eps>0 eps= ";
cin >> eps;
cout << "sum1 =" << Sum1(n) << endl;
cout << "sum2 =" << Sum2(eps) << endl;
return 0;
}
Вывод: в ходе лабораторной работы составили программу для вычисления бесконечного числового ряда.