Составить программу вычисления уравнения - C (СИ) (75866)
Формулировка задачи:
Составить программу вычисления y=1-1/2+1/3-1/4...(-1)^(n-1)+... с точностью e=0.001
Не могу разобраться с написанием программы. Прошу помочь.
Решение задачи: «Составить программу вычисления уравнения»
textual
Листинг программы
#include<stdio.h>
#include<conio.h>
#include<math.h>
int main()
{
int i,c=0;
double y=0;
for(i = 1; i <=1000000; i++)
{
c = pow(-1,(double)(i+1));
y +=(double)c/i;
}
printf("y=%.3lf\n", y);
getch();
return 0;
}
Объяснение кода листинга программы
В этом коде выполняется вычисление суммы ряда Тейлора для функции f(x) = 1/x.
- В первой строке подключаются необходимые библиотеки: — stdio.h — для ввода-вывода данных; — conio.h — для работы с консолью; — math.h — для работы с математическими функциями.
- В функции main() объявляются три переменные: — i — счётчик цикла; — c — значение которого вычисляется в каждой итерации цикла; — y — сумма ряда Тейлора.
- Затем выполняется цикл for, который проходит по числам от 1 до 1000000.
- В каждой итерации цикла переменная c вычисляется как значение функции f(x) = 1/x для следующего целого числа x. Для этого используется функция pow(), которая вычисляет x в степени i+1.
- Результат вычисления функции f(x) приводится к типу double и добавляется к переменной y.
- После завершения цикла выводится значение переменной y с помощью функции printf().
- Завершается программа вызовом функции getch(), которая ожидает нажатия клавиши, и возвращает управление операционной системе.