Вычислить значение суммы бесконечного ряда - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Всем привет, помогите решить задачу, не пойму как нужно делать.

Решение задачи: «Вычислить значение суммы бесконечного ряда»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define _USE_MATH_DEFINES
  4. #include <math.h>
  5.  
  6. int factorial(int n)
  7. {
  8.     if (n <= 1)
  9.     {
  10.         return n;
  11.     }
  12.  
  13.     return n * factorial(n - 1);
  14. }
  15.  
  16. double f()
  17. {
  18.     const double e = 1e-4;
  19.     double s = M_PI / 3;
  20.     double m = 1;
  21.  
  22.     for (size_t n = 1; abs(m) > e; n++)
  23.     {
  24.         int sign = -1;
  25.  
  26.         if (n % 2 == 0)
  27.         {
  28.             sign = 1;
  29.         }
  30.  
  31.         m = sign * pow(M_PI / 3, 2 * n + 1) / (double)factorial(2 * n + 1);
  32.         s += m;
  33.     }
  34.  
  35.     return s;
  36. }
  37.  
  38. int main()
  39. {
  40.     double f1 = f();
  41.     double f2 = sin(M_PI / 3);
  42.     printf("f() = %.8f\n", f1);
  43.     printf("sin(PI / 3) = %.8f\n", f2);
  44. #ifdef _MSC_VER
  45.     system("pause");
  46. #endif
  47.     return EXIT_SUCCESS;
  48. }

Объяснение кода листинга программы

  1. Название переменной: n Тип: size_t Значение: 1
    • В цикле for: инициализирует счетчик числа итераций от 1 до ...
  2. Название переменной: sign Тип: int Значение: -1
    • Устанавливает знак на -1 для первой итерации (m = -1 * m)
  3. Название переменной: m Тип: double Значение: Начальное значение m не определено, но после первой итерации будет равно -1.0
    • Используется для хранения значения, которое добавляется к сумме s на каждой итерации
  4. Название переменной: s Тип: double Значение: Начальное значение s не определено, но после первой итерации будет равно 0.0
    • Используется для хранения суммы значений, которые добавляются на каждой итерации
  5. Название переменной: f1 Тип: double Значение: Не определено
    • Используется для хранения значения функции f()
  6. Название переменной: f2 Тип: double Значение: Не определено
    • Используется для хранения значения sin(M_PI / 3)
  7. Название переменной: e Тип: double Значение: 1e-4
    • Используется для определения точности вычислений (проверка, что abs(m) > e)
  8. Название переменной: M_PI Тип: double Значение: Не определено
    • Используется для хранения значения числа π (3.14159...)
  9. Название переменной: printf Тип: int Значение: Не определено
    • Используется для вывода значений функций и переменных на экран
  10. Название переменной: EXIT_SUCCESS Тип: int Значение: Не определено
    • Используется для определения успешного завершения программы (возвращает 0)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.818 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы