Р
Решала
Даны действительные x,ε(x ≠ 0,ε > 0)и целые k,a,n числа. Вычислить с точностью
ε сумму и указать количество учтенных слагаемых. Считать, что требуемая
точность достигнута, если вычислена сумма нескольких первых слагаемых и
очередное слагаемое оказалось по модулю меньше, чем ε , - это и все последующие
слагаемые можно уже не учитывать. Проверить правильность вычислений на
тестовых примерах, используя возможности отладчика, проследить изменение
значений слагаемых суммы ряда, выполнив отладку цикла.
Подскажите пожалуйста...
ε сумму и указать количество учтенных слагаемых. Считать, что требуемая
точность достигнута, если вычислена сумма нескольких первых слагаемых и
очередное слагаемое оказалось по модулю меньше, чем ε , - это и все последующие
слагаемые можно уже не учитывать. Проверить правильность вычислений на
тестовых примерах, используя возможности отладчика, проследить изменение
значений слагаемых суммы ряда, выполнив отладку цикла.
Подскажите пожалуйста...
Код:
#include "stdafx.h"
#include <iostream>
#include <cmath>
#include <clocale>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
setlocale(0,"Rus");
double x, e;
cout<<"Введите значение аргумента x = ";
cin>>x;
cout<<"Введите значение точности вычисляемой суммы (e>0) e = ";
cin>>e;
double summa = 0; //в переменной summa накапливаем сумму ряда
if (e>0) //точность E должна быть больше нуля
{
//вычисляем первое слагаемое ряда
int k = 2k+1;
double k_element = pow(-1.,k*(x,4k+3));
//вычисление суммы ряда
while (k_element > e && k <= INT_MAX)
{
cout<<"k = "<<k<<"\t"<<k_element<<"\n";
k_element *= x;
k_element /= k;
summa += k_element/4k+3;
k++;
}
cout<<"Сумма ряда = "<<summa<<"\n";
cout<<"Количество учтенных слагаемых = "<<k-1<<"\n";
}
else
cout<<"Ошибка ввода. Точность больше нуля!\n";
system("pause");
return 0;
}