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