Вычислить бесконечную сумму с заданной точностью - Pascal
Формулировка задачи:
Вычислить бесконечную сумму с заданной точностью ε (ε > 0). Считать, что требуемая точность достигнута, если вычислена сумма нескольких первых слагаемых и очередное слагаемое оказалось по модулю меньше, чем ε, - это и все последующие слагаемые можно уже не учитывать. Вычислить:∑_(i=1)^∞=(-1)^(i+1)/i(i+1)(i+2).
Решение задачи: «Вычислить бесконечную сумму с заданной точностью»
textual
Листинг программы
var s, a, e: real; i: integer; begin repeat write('eps > 0; eps = '); readln(e) until e > 0; i := 1; a := 1 / 6; s := a; while abs(a) >= e do begin inc(i); a := (1 - i) * a / (i + 2); s := s + a end; write('S = ', s:0:15); readln end.
Объяснение кода листинга программы
- Объявление переменных:
s
,a
,e
- вещественные числа для хранения суммы, элемента последовательности и точности, соответственно.i
- целое число для итераций.
- Цикл ввода точности:
- Повторять пока не будет введено положительное значение для точности
e
.
- Повторять пока не будет введено положительное значение для точности
- Инициализация переменных:
i
устанавливается равным 1.a
устанавливается равным 1/6.s
устанавливается равнымa
(начальный элемент суммы).
- Цикл вычисления суммы:
- Пока абсолютное значение
a
больше или равноe
, выполняется следующее:- Увеличивается значение
i
на 1. - Значение
a
пересчитывается по формуле (1 - i) * a / (i + 2). - Значение
s
увеличивается наa
.
- Увеличивается значение
- Пока абсолютное значение
- Вывод результата:
- Выводится значение суммы
s
с точностью до 15 знаков после запятой. - Ожидается ввод для завершения программы.
- Выводится значение суммы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д