Вычислить сумму ряда с требуемой точностью - Free Pascal
Формулировка задачи:
Вычислить с требуемой точностью ряд
Решение задачи: «Вычислить сумму ряда с требуемой точностью»
textual
Листинг программы
uses math;
var
eps,x,s,r:real;
i:integer;
begin
write('Eps,x=');readln(eps,x);
i:=1;
s:=i;
repeat
i:=i+1;
r:=x/i/(i+1);
power(r,i);
s:=s+r;
until abs(r)<eps;
writeln('S=',s:0:5);
end.
Объяснение кода листинга программы
- В начале программы подключается единица измерения длины (units of measure) и объявляются переменные:
- eps (произносится как
эпсилони обозначает требуемую точность вычислений), - x (произносится как
икси представляет собой первый элемент ряда), - s (произносится как
эси представляет собой сумму ряда на текущем шаге), - r (произносится как
ари представляет собой значение члена ряда на текущем шаге).
- eps (произносится как
- Пользователю предлагается ввести значения eps и x с помощью функции readln().
- Инициализируется счётчик i со значением 1.
- Начинается цикл while, который выполняется до тех пор, пока значение r (член ряда на текущем шаге) не станет меньше заданной точности eps.
- Внутри цикла вычисляется значение r по формуле x/i/(i+1).
- Значение r возводится в степень i с помощью функции power().
- Значение r добавляется к сумме s.
- После окончания цикла выводится результат - сумма s - с помощью функции writeln(). Примечание: в данном коде не предусмотрена проверка на некорректный ввод (например, если пользователь ввёл отрицательное значение для eps или x).