Найти сумму бесконечного ряда - Turbo Pascal (29126)
Формулировка задачи:
Найти сумму бесконечного ряда с заданной точностью E для всех X, изменяющихся от Xn до Xk с шагом H. Правильность вычисленного выражения проверить с помощью аналитического выражения ряда.
Xn = 0.1, Xk = 0.9, H = 0.1, E = 0.001
Y = (1-x)^m = 1-mx+m(m-1)x^2/2!+...+(-1)^n*m(m+1)...((m+n-1)*x^n)/(n!) + ...
Ошибся в формуле Y = (1+x)^(-m) = 1-mx+m(m+1)x^2/2!+...+(-1)^n*m(m+1)...((m+n-1)*x^n)/(n!) + ...
Решение задачи: «Найти сумму бесконечного ряда»
textual
Листинг программы
const xn=0.1;
xk=0.9;
h=0.1;
e=0.001;
function sum(x,m:real):real;
var t,s:real;
n:integer;
begin
n:=0;
t:=1;
s:=t;
while abs(t)>e do
begin
n:=n+1;
t:=-t*(m+n-1)*x/n;
s:=s+t;
end;
sum:=s;
end;
var x,m:real;
begin
write('m=');
readln(m);
x:=xn;
while x<=xk do
begin
writeln('x=',x:3:1,' y=',sum(x,m):8:4,' f=',power(1+x,-m):8:4);
x:=x+h;
end;
end.
Объяснение кода листинга программы
Данный код написан на языке Turbo Pascal и предназначен для вычисления суммы бесконечного ряда. В начале кода объявлены константы и переменные:
- xn - значение 0.1, которое является первым членом ряда.
- xk - значение 0.9, которое является последним членом ряда.
- h - шаг изменения значения переменной x.
- e - допустимая погрешность, которая определяет, когда можно прекратить вычисления.
- sum - функция, которая принимает два аргумента: x и m (коэффициенты ряда), и возвращает сумму ряда.
- t - временная переменная, которая используется в цикле.
- s - сумма ряда, которая также является временной переменной.
- n - счетчик, который увеличивается на единицу на каждой итерации цикла. Затем следует цикл while, который выполняется до тех пор, пока текущее значение переменной t не превысит допустимую погрешность e. Внутри цикла происходит следующее:
- n увеличивается на единицу.
- Значение переменной t обновляется согласно формуле t = -t(m+n-1)x/n.
- Значение переменной s обновляется согласно формуле s = s + t. После завершения цикла, значение переменной sum возвращается из функции sum. Далее идет основной цикл, который начинается с значения x равного xn и продолжается до xк. Внутри цикла выводится текущее значение x, сумма ряда sum(x,m) и значение функции power(1+x,-m). Затем значение x увеличивается на h. В конце кода объявлены переменные x и m, считывается значение m с помощью функции readln, и значение x устанавливается равным xn. Затем цикл начинается с x = xn и продолжается до x = xk. Таким образом, данный код вычисляет сумму бесконечного ряда, используя функцию sum и цикл while. В цикле выводятся значения x, суммы ряда и функции power.