Turbo Pascal Вычисление суммы ряда с заданной точностью

s=Сумма от 0 до бесконечности от выражения (x в степени n)/(n!). Диапазон изменения 1<х<2;n=15;функция у=e в степени х
Требования:
1. Записать рассчётные формулы для вычисления слагаемого по рекурретной формуле.
2. Вычислить сумму с точностью до члена ряда, меньшего ε, в указанном диапазоне изменения х с определённым шагом. Для получения шага диапазона разделить на n.
3. Сравнить вычисленное значение суммы функционального ряда с данной суммой ряда у.
Указания: Результат напечатать в виде таблицы: первый столбец - значение х, второй - вычисленное значение суммы s третий - значение у. Значение точности ε ввести клавиатуры.

Программа:
{ y = e^x }
{ S = X^0/0! + X^1/1! + X^2/2! + X^3/3! + +X^n/n! }
{ S = S0 + S1 + S2 + S3 + .где S0 = 1, S1 = S0*X/1, S2 = S1*X/2, S3 = S2*X/3, ..}
var
Y, X, eps, Step, Si, SumEps, SumN : Real;
N, I : Integer;
begin
WriteLn('Исследование разложения функции e^x в ряда Тейлора');
Write('Введите значение X (1 < X < 2) X = '); ReadLn(X);
Write('Введите точность вычисления eps = '); ReadLn(eps);
Write('Введите количество шагов N = '); ReadLn(N);
WriteLn;
Y := Exp(X);
WriteLn('Значение функции e^', X:8:7, ' = ', Y:8:7);
I := 0;
Si := 1;
SumEps := 1;
repeat
I := I + 1;
Si := Si * X / I;
SumEps := SumEps + Si;
until Si < eps;
WriteLn('Сумма первых членов функции > eps = ', SumEps:8:7);
I := 0;
Si := 1;
SumN := 1;
repeat
I := I + 1;
Si := Si * X / I;
SumN := SumN + Si;
until I = N;
WriteLn('Сумма первых ', N, ' членов функции = ', SumN:8:7);
end.

Добавить комментарий


Защитный код
Обновить