Найти сумму ряда с помощью рекуррентного выражения - C (СИ)
Формулировка задачи:
Здравствуйте. Нужно найти сумму ряда с помощью рекуррентного выражения.Можете,пожалуйста,проверить правильность кода.
#include<stdio.h>
#include<conio.h>
#include<math.h>
main()
{
int n=0;
float a,s,x=2;
double e=1e-4;
clrscr();
a=x;
s=a;
while(a>e)
{
a*=(x/(n+1));
s+=a;
n++;
}
printf(" \n s=%.5f,kolichestvo elementov=%d",s,n-1);
getch();
return 0;
}
или n++ нужно в начале цикла ставить?
Решение задачи: «Найти сумму ряда с помощью рекуррентного выражения»
textual
Листинг программы
#include<stdio.h>
#include<conio.h>
#include<math.h>
int main()
{
int n=0;
float a,s,x=2;
double e=1e-4;
a=x;
s=a;
printf("n = %d: a = %f, s = %f\n", n, a, s);
n++;
while(a>e)
{
a*=(x/(n+1));
s+=a;
printf("n = %d: a = %f, s = %f\n", n, a, s);
n++;
}
printf(" \n s=%.5f,kolichestvo elementov=%d",s,n-1);
getch();
return 0;
}
Объяснение кода листинга программы
В этом коде выполняется вычисление суммы ряда, используя рекуррентное соотношение. Вот список действий, которые выполняются в коде:
- В начале программы определяются переменные:
n- счетчик итерацийa- текущий член рядаs- накопитель суммыx- первый член рядаe- погрешность вычислений (для контроля условия выхода из цикла)printfиспользуется для вывода значений переменных в консоль
- Переменная
aинициализируется значениемx, а переменнаяsинициализируется значениемa. - Выводится сообщение с начальными значениями
n,aиs. - Условие цикла
whileпроверяет, является ли текущий член ряда больше погрешности вычислений. Если это так, то выполняются следующие действия:aумножается на(x/(n+1))(рекуррентное соотношение)sувеличивается наa- Выводится сообщение с текущими значениями
n,aиs. nувеличивается на 1
- Когда условие цикла
whileстановится ложным (то есть, когда текущий член ряда становится меньше погрешности вычислений), цикл завершается. - Выводится сообщение с окончательным значением
sи количеством итераций (n-1), которое использовалось для вычисления суммы. - Программа завершается вызовом функции
getch(), которая ожидает нажатия клавиши, чтобы пользователь мог увидеть результаты. - Возвращается 0, чтобы указать, что программа успешно завершилась.