Определить число повторений итерационного цикла - PascalABC.NET
Формулировка задачи:
Итерационные циклы. Разработать программу,определяющие сумму ряда с заданной погрешностью Е(ипсилон) для произвольно заданного аргумента х. Определить число повторений итерационного цикла - Pascal
Бесконечная сумма: 2[(1/x)+(1/3x^3)+(1/5x^5)+...+(1/(2n+1)x^2n+1)+...]
Диапазон изменений x: |x|>1
Выражение для проверки: ln(x+1/x-1)
Решение задачи: «Определить число повторений итерационного цикла»
textual
Листинг программы
var x,e,t,s:real;
n:integer;
begin
repeat
write('|x|>1 x=');
readln(x);
until abs(x)>1;
e:=0.0001;
n:=1;
t:=1/x;
s:=t;
while t/(2*n-1)>e do
begin
n:=n+1;
t:=t/x/x;
s:=s+t/(2*n-1);
end;
s:=s*2;
writeln('S=',s:0:4);
write('F=',ln((x+1)/(x-1)):0:4);
end.
Объяснение кода листинга программы
- Объявляются четыре переменные типа real: x, e, t, s.
- Объявляется переменная типа integer: n.
- Задается начальное значение переменной x, равное 1.
- Делается запрос на ввод значения переменной x.
- Переменная x проверяется на абсолютное значение (|x|). Если оно больше 1, то происходит переход к следующему циклу.
- Задается начальное значение переменной e, равное 0.0001.
- Задается начальное значение переменной n, равное 1.
- Задается начальное значение переменной t, равное 1/x.
- Задается начальное значение переменной s, равное t.
- Задается начальное значение переменной t, равное 1/x/x.
- Цикл while выполняется до тех пор, пока значение t/(2*n-1) больше e.
- Внутри цикла происходит увеличение значения переменной n на 1.
- Значение переменной t обновляется, и оно равно t/x/x.
- Значение переменной s обновляется, и оно равно s+t/(2*n-1).
- После выхода из цикла, значение переменной s умножается на 2.
- Выводятся значения переменных s и F (функция Фибоначчи).
- Значение переменной x не должно быть равным 1 или -1, иначе программа выдаст ошибку.
- Значение переменной e должно быть больше 0, иначе программа выдаст ошибку.
- Значение переменной n должно быть больше 0, иначе программа выдаст ошибку.
- Значение переменной t должно быть больше 0, иначе программа выдаст ошибку.