2 задачи по вычислению чисел - C (СИ)
Формулировка задачи:
Здравствуйте! Помогите, пожалуйста сделать две задачки на C:
1) Вычислить и вывести на экран в видел таблицы значения функции, заданной с помощью ряда Тейлора, на интервале от хнач до хконеч с шагом dx с точностью ε(эпселент)
см. рис 1
2)см. рис. 2
Решение задачи: «2 задачи по вычислению чисел»
textual
Листинг программы
#include<stdio.h>
#include<math.h>
int main()
{
double eps, dx, x;
printf("\nInput eps, dx\n");
scanf("%lf%lf", &eps, &dx);
for (x = -1 + dx; x < 1 + dx/2; x += dx)
{
int n = 2;
double b = -x*x, sum = x;
while (fabs(b) >= n*eps) {
sum += b/n;
b *= -x;
++n;
}
printf("x=%9.5f,\t sum=%9.5f\n", x, sum);
}
return 0;
}
Объяснение кода листинга программы
В этом коде выполняется вычисление суммы ряда Тейлора для функции f(x) = 1/x^2 с использованием метода конечных разностей.
- Объявлены три переменные: eps, dx, x.
- Пользователю предлагается ввести значения eps и dx с помощью функции scanf.
- Инициализируется переменная x значением -1+dx.
- Запускается цикл for, который выполняется, пока x меньше или равно 1+dx/2.
- Внутри цикла объявляется переменная n и инициализируется значением 2.
- Вычисляется значение b, равное -x*x.
- Вычисляется значение sum, равное x.
- Запускается цикл while, который выполняется, пока абсолютное значение b больше или равно 2neps.
- Внутри цикла вычисляется следующее значение sum, равное sum + b/n.
- Значение b умножается на -x.
- Значение n увеличивается на 1.
- После выхода из цикла while выводится значение x и значение sum.
- Цикл for повторяется для следующего значения x.
- В конце программы возвращается 0, чтобы указать, что программа успешно завершилась.