Используя функцию, написать программу вычисления суммы ряда - C (СИ)
Формулировка задачи:
Используя функцию, написать программу вычисления суммы ряда s=s(1)+…+s(n), где s(n)=(-1)^n x^(2n-1)/(2n+1) с точностью до eps=0.001. В качестве параметров выбрать x
#include <stdio.h> #include <stdio.h> #include <math.h> #include <conio.h> double ABS(double s) {return s<0 ? s*-1:s; } int main() { double x=0.0f, s=0.002f; scanf("%f",&x); for (int n=1; ABS(s)<0.003; n++) s+=pow(-1.0, (double)n)*pow(x,(2.0*(double)n-1.0)/(2.0*(double)n+1.0)); printf("s=",s); getch (); return 0; }
подправьте что не так, дайте совет,
Решение задачи: «Используя функцию, написать программу вычисления суммы ряда»
textual
Листинг программы
#include <stdio.h> #include <math.h> #include <conio.h> double fabs(double sum) {return sum<0 ? -sum:sum;} int main() { clrscr(); int sign, n; double eps, sum, elem, x; eps=0.001; x=0.5; sign=1; for(n=1; n++;) { elem=sign*pow(x,(2*n-1))/(2*n+1); sum+=elem; if(fabs(elem)<eps){break;} sign=-sign; } printf("sum=%.10f\n",sum); getch(); return 0; }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с числами с плавающей точкой и для работы с консолью.
- Реализация функции fabs для получения абсолютного значения числа.
- Ввод данных: значение переменной eps (необходимо для контроля точности вычислений), значение переменной x (для данного ряда это 0.5), начальное значение переменной sign (1), переменная n инициализируется значением 1.
- Выполнение цикла по нечётным числам от 1 до n.
- Вычисление значения элемента ряда elem на каждой итерации цикла.
- Добавление значения элемента к сумме ряда.
- Проверка на точность вычислений: если абсолютное значение текущего элемента меньше eps, то ряд считается сходящимся и цикл прерывается.
- Значение переменной sign меняется на противоположное.
- После завершения цикла выводится итоговое значение суммы ряда.
- Программа ожидает нажатия клавиши для выхода.
- Возврат 0, означающий успешный завершение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д