Консультация № 203224
07.10.2022, 19:44
0.00 руб.
0 1 1
Уважаемые эксперты! Пожалуйста, ответьте на вопрос:


(Использовать цикл с предпосылкой)
Как записать это в коде!
Возможно ли увидеть как она проходит этапе в форме (блок-схемы)

Обсуждение

давно
Студент
402651
154
09.10.2022, 16:16
общий
это ответ
/* Найти сумму ряда с заданной точностью Е. Для этого расчеты вести до тех пор, пока модуль разности
между двумя соседними членами ряда |Un+1 - Un| не станет меньше некоторой величины Е.
Значение Е принять в пределах 10^-3 >A> 10^-4.
Значение переменной Х выбрать самостоятельно, обеспечив сходимость ряда.*/

#include <iostream>
#include <cmath> // математическая функция
#include <conio.h>
#include <clocale> // для русского

using namespace std;

double fact(int N)
{
if(N < 0) // если пользователь ввел отрицательное число
return 0; // возвращаем ноль
if (N == 0) // если пользователь ввел ноль,
return 1; // возвращаем факториал от нуля - не удивляетесь, но это 1 =)
else // Во всех остальных случаях
return N * fact(N - 1); // делаем рекурсию.
}


double fun (int k, int y) // функция члена ряда
{
double res;// Внутренние переменные
int sign; // функции
if (k % 2 == 0) // Определение знака
sign = -1; // перед членами
else
sign = 1; //ряда
// Вычисление определенного члена ряда
res = sign * pow(y, (2*k-2)) / fact(k - 1)*(2*k - 1);
return res;// вывод результата функции
}


int main()
{
setlocale(LC_ALL, "RUS");
float e;
double sum = 0.0;
int x, n = 1;
double previous, current;
cout << "Введите в пределах 10^-3 > Е > 10^-4 = ";
cin >> e;
cout << "\nВведите X обеспечив сходимость ряда = ";
cin >> x;
current = n; // Первый член ряда
sum += current; // Первая сумма ряда
n++; // увеличиваем номер члена ряда
do
{
previous = current; // присваиваем текуще зн. типо предыдущему
current = fun(n,x); // вычисляем значение определенного члена ряда
sum += current; // находим сумму
n++;// увеличиваем номер члена ряда
}
while (fabs(current - previous) > e);
cout << "\n Сумма ряда = " << sum << endl;
_getch();
return 0;
}
Форма ответа