Вычислить бесконечную сумму с заданной точностью eps (eps>0). Считать, что точность достигнута, если очеред - Pascal ABC
Формулировка задачи:
Вычислить бесконечную сумму с заданной точностью eps (eps>0). Считать, что точность достигнута, если очередное слагаемое по модулю меньше eps – все последующие слагаемые можно не учитывать.
Решение задачи: «Вычислить бесконечную сумму с заданной точностью eps (eps>0). Считать, что точность достигнута, если очеред»
textual
Листинг программы
var i:integer;
e,f,s:real;
begin
repeat
write('Введите точность 0<e<1 e=');
readln(e);
until(e>0)and(e<1);
f:=1;
s:=f;
i:=0;
while abs((i+1)*f)>e do
begin
i:=i+1;
f:=-f/i;
s:=s+(i+1)*f;
end;
write('S=',s:0:4);
end.
Объяснение кода листинга программы
- Создается переменная i типа integer.
- Создаются переменные e и f типа real.
- Создается переменная s типа real.
- В цикле repeat-until выполняется следующее:
- Выводится сообщение для ввода точности.
- Считывается значение переменной e.
- Переменная f инициализируется как 1.
- Переменная s инициализируется как f.
- Переменная i инициализируется как 0.
- В цикле while выполняется следующее:
- Значение переменной i увеличивается на 1.
- Значение переменной f вычисляется как -f/i.
- Значение переменной s вычисляется как s + (i+1)*f.
- Выводится значение переменной s.
- Цикл while завершается, если abs((i+1)f) > e или abs((i+1)f) < e.
- Программа завершается.