При каких N и Х считать сумму ряда Тейлора бессмысленно? - C (СИ)

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

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

Всем привет! Программа считает ряд Тейлора (и неплохо, исправлять не нужно), нужно объяснить при каких X и N бессмысленно считать сумму. Для N и X, которые не смогут хранится в переменных не предлагать Помогите пожалуйста или натолкните на мысль, ломаю голову, понять не могу IDE Visual Studio 2013
#include <stdio.h>
#include <conio.h>
#include <math.h>
void main()
{
    unsigned long int N, i, N_of_factorial = 2;
    long double S = 0, x, next_member;
    printf("Enter N: ");
    scanf_s("%u", &N);
    printf("\nEnter x: ");
    scanf_s("%Lf", &x);
    next_member = x;
    printf("\n                Sin(x): %.17Lf", sin(x));
 
    for (i = 0; i <= N; i++)
    {
        if (i % 2 == 0) S += next_member;
        if (i % 2 != 0) S -= next_member;
        next_member *= x*x / (N_of_factorial*(N_of_factorial + 1));
        N_of_factorial += 2;
        if (next_member == 0) break;
    }
 
    printf("\nSum of Teylor's series: %.17Lf", S);
 
    next_member = x;
    N_of_factorial = 2;
    S = 0; i = 0;
    while (next_member != 0)
    {
        if (i % 2 == 0) S += next_member;
        if (i % 2 != 0) S -= next_member;
        next_member *= x*x / (N_of_factorial*(N_of_factorial + 1));
        N_of_factorial += 2;
        i++;
    }
 
    printf("\n Sum with max accuracy: %.17Lf", S);
    _getch();
}

Решение задачи: «При каких N и Х считать сумму ряда Тейлора бессмысленно?»

textual
Листинг программы
for (i = 0; i <= N; i++)
    {
        if (i % 2 == 0) S += next_member;
        if (i % 2 != 0) S -= next_member;
        next_member *= x*x / (N_of_factorial*(N_of_factorial + 1));
        N_of_factorial += 2;
        if (next_member == 0) break;
    }

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

В этом коде выполняется вычисление суммы ряда Тейлора. Переменная N представляет собой количество членов ряда, которые нужно сложить. Переменная S используется для хранения суммы ряда. Переменная next_member представляет собой следующий член ряда, который нужно добавить или вычесть из суммы. Переменная x представляет собой коэффициент, на который умножается каждый член ряда. Переменная N_of_factorial используется для хранения факториала числа N. Код проверяет, является ли текущий член ряда четным числом. Если это так, он добавляется к сумме, если нет - вычитается. Затем переменная next_member умножается на значение x, деленное на факториал числа N и (факториал числа N + 1). Значение N_of_factorial увеличивается на 2, и если следующий член ряда равен нулю, цикл прерывается. Код может считаться бессмысленным, если ряд Тейлора для данного значения N и x не сходится, то есть если next_member никогда не станет равным нулю. Однако, этот код не проверяет сходимость ряда, он просто вычисляет сумму ряда до тех пор, пока не будет достигнут предел по количеству членов ряда или не будет найден член ряда, равный нулю.

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


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

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

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