Вычислить значение функции по формуле сходящегося ряда - C (СИ)
Формулировка задачи:
Разработать программу, вычисляющую значение функции по формуле сходящегося ряда в соответствии с вариантом задания.
При создании программы должны быть выполнены следующие дополнительные условия:
• Значение функции, к которой сходится сумма ряда, вычисляется с погрешностью, задаваемой пользователем.
• Программа фиксирует количество членов ряда, необходимое для достижения заданной точности.
Помогите плз с программкой, я в СИ новичок, а тут дали такую программу сделать.
Заранее благодарен!
Решение задачи: «Вычислить значение функции по формуле сходящегося ряда»
textual
Листинг программы
#include <stdio.h>
#include <math.h>
int fact(int x) {
if (x == 0) return 1;
return x * fact(x - 1);
}
int main(void){
double x, sum, e, truesumm;
int k;
x=2;
e=0.1;
k=sum = 0;
truesumm = (exp(x)-exp(-x))/2;
printf("%f", truesumm);
while ((sum-truesumm)<e){
k=k+1;
sum=sum+(pow(x,(2*k-1))/fact(2*k-1));
}
printf("Summ of array = %f\n", sum);
printf("Numbers of iteration = %d\n",k);
return 0;
}
Объяснение кода листинга программы
- Программа включает в себя две функции:
factиmain. - Функция
factвычисляет факториал числаx. - В функции
mainопределены переменныеx,sum,e,truesummиk. - Значение переменной
xравно 2, значение переменнойeравно 0.1, а значение переменнойkравно 0. - Значение переменной
sumинициализируется как 0. - Значение переменной
truesummвычисляется как среднее значение экспоненциальной функции отx. - Используется цикл
while, чтобы сходимость ряда была достигнута. - Внутри цикла
whileзначение переменнойkувеличивается на 1, а значение переменнойsumувеличивается на сумму элементов рядаpow(x,(2*k-1))/fact(2*k-1). - Цикл выполняется до тех пор, пока разница между
sumиtruesummменьшеe. - По завершении цикла
while, выводится значение переменнойsumи количество итераций. - Значение переменной
sumявляется результатом выполнения программы. - Значение переменной
kявляется количеством итераций, необходимых для достижения сходимости ряда. - Значение переменной
truesummявляется приближенным значением ряда. - Значение переменной
eявляется допустимой погрешностью для достижения сходимости ряда. - Значение переменной
xявляется начальным значением для вычисления ряда. - Значение переменной
mainявляется функцией, в которой выполняются все операции по вычислению ряда. - Значение переменной
factявляется функцией, которая вычисляет факториал числа. - Значение переменной
powявляется функцией, которая возводит число в степень. - Значение переменной
printfявляется функцией, которая выводит данные на консоль. - Значение переменной
kне выделяется в кавычки или не указывается в инструкции.