Вычислить сумму и найти число слагаемых, которые вошли в сумму - Turbo Pascal (29379)
Формулировка задачи:
Вычислить сумму и найти число слагаемых, которые вошли в сумму. Процесс вычислений требуется закончить, когда очередное слагаемое по модулю окажется меньше ε (это слагаемое при вычислении суммы уже не учитывать).
Решение задачи: «Вычислить сумму и найти число слагаемых, которые вошли в сумму»
textual
Листинг программы
var x, eps, a, s: double;
n: integer;
begin
repeat
write('-1 <= x < 1; x = ');
readln(x)
until (-1 <= x) and (x < 1);
repeat
write('eps > 0; eps = ');
readln(eps)
until eps > 0;
n := 0;
a := -x / 3;
s := a;
while abs(a) >= eps do
begin
inc(n);
a := (0.5 - n) / (n + 1.5) * x * x * a;
s := s + a
end;
writeln('s = ', s:0:15, ', iteration: ', n + 1);
readln
end.
Объяснение кода листинга программы
- Создаются переменные x, eps, a, s типа double и n типа integer.
- В блоке repeat-until проверяется условие -1 <= x < 1. Если оно истинно, то считывается значение переменной x.
- В следующем блоке repeat-until проверяется условие eps > 0. Если оно истинно, то считывается значение переменной eps.
- Переменная n инициализируется значением 0.
- Переменная a инициализируется значением -x/3.
- Переменная s инициализируется значением a.
- Запускается цикл while, который выполняется до тех пор, пока abs(a) >= eps.
- В каждой итерации цикла значение переменной n увеличивается на 1, а переменная a вычисляется по формуле (0.5 - n) / (n + 1.5) x x * a.
- Значение переменной a добавляется к переменной s.
- После завершения цикла выводится значение переменной s и количество итераций, равное n + 1.
- Программа завершается после чтения пользовательского ввода с помощью readln.