Найти сумму тех членов ряда, модуль которых больше или равен заданному Е - PascalABC.NET
Формулировка задачи:
задача с использованием процедур. .Дан числовой ряд и некоторое число Е Найти сумму тех членов ряда, модуль которых больше или равен заданному Е. Общий член ряда имеет вид
Решение задачи: «Найти сумму тех членов ряда, модуль которых больше или равен заданному Е»
textual
Листинг программы
function f(n : Integer) : Real;
begin
Result := 1;
for var i := 1 to n do
Result *= 10 / i;
end;
begin
Write('eps = '); var eps := ReadLnReal;
var Summa := 0.0;
var n := 0;
var A : Real;
repeat
n += 1;
A := f(n);
WriteLn('A(', n, ') =', A);
if abs(A) >= eps then
Summa += A;
until abs(A) < eps;
WriteLn('Сумма = ', Summa);
end.
Объяснение кода листинга программы
- В функции f(n) происходит вычисление значения функции для заданного значения n.
- Значение функции равно 1 при n=1 и вычисляется как произведение 10 и обратного значения n для всех последующих значений n.
- В основной части программы считывается значение eps с помощью функции ReadLnReal.
- Инициализируются переменные Summa, n и A.
- В цикле repeat-until происходит последовательное вычисление значений функции f(n) для всех значений n от 1 и до тех пор, пока модуль значения функции не станет меньше eps.
- Для каждого значения функции, если его модуль больше или равен eps, к значению Summa прибавляется значение функции.
- После окончания цикла выводится значение Summa.