Вычислить значение функции разложением в ряд Тейлора - C (СИ)

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

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

Здравствуйте. Помогите пожалуйста решить задачку:

Решение задачи: «Вычислить значение функции разложением в ряд Тейлора»

textual
Листинг программы
#include <stdio.h>
#include <math.h>
 
double factorial(double x)
{
    return tgamma(x + 1.0);
}
 
int main()
{
    int n, i;
    double x, res = 0.0, cur;
    
    scanf("%lf %d", &x, &n);
    
    for(i = 0; i <= n; i++)
    {
        cur = pow(x, 2 * i + 1) / factorial(2 * i + 1);
        if(i & 1) cur *= (-1);
        res += cur;
    }
    
    printf("%lf", res);
    
    return 0;
}

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

  1. Программа на языке C
  2. Задача - вычислить значение функции разложением в ряд Тейлора
  3. Входные данные: x - значение аргумента функции, n - количество членов ряда для вычисления
  4. Выходные данные: значение результата вычисления функции при помощи ряда Тейлора
  5. Используются библиотеки stdio.h и math.h
  6. Функция factorial(x) используется для вычисления факториала числа x
  7. В функции main() объявлены переменные:
    • n - количество членов ряда для вычисления
    • i - счётчик для цикла
    • x - значение аргумента функции
    • res - переменная для хранения результата вычисления функции при помощи ряда Тейлора
    • cur - переменная для хранения текущего члена ряда
  8. В цикле for происходит вычисление каждого члена ряда и его добавление к переменной res
  9. В условии i & 1 проверяется чётность i (если i чётное, то i & 1 вернёт 0, иначе 1)
  10. В функции factorial(x) используется функция tgamma(x) из библиотеки math.h для вычисления факториала числа x
  11. Результат вычисления функции при помощи ряда Тейлора выводится на экран при помощи функции printf()

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


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

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

13   голосов , оценка 3.923 из 5
Похожие ответы