Вычислить сумму ряда цикл while do. - Turbo Pascal
Формулировка задачи:
Вычислить значение заданной функции непосредственно и как сумму ряда с погрешностью 0.001. Значение аргумента выбрать самостоятельно.
Решение задачи: «Вычислить сумму ряда цикл while do.»
textual
Листинг программы
uses crt;
const e=0.001;
var x,t,s:real;
n:integer;
begin
clrscr;
repeat
write('Введите |x|>1 x=');
readln(x);
until abs(x)>1;
n:=0;
t:=1/x;
s:=t;
while t>e do
begin
n:=n+1;
t:=t/(x*x);
s:=s+t/(2*n+1);
end;
s:=2*s;
writeln('Сумма=',s:0:4);
write('Аналитически Ln((x+1)/(x-1))=',ln((x+1)/(x-1)):0:4);
readln
end.
Объяснение кода листинга программы
- В первой строке используется библиотека crt, которая является стандартной для Turbo Pascal.
- В следующей строке задается константа e, которая равна 0.001.
- Затем определяются переменные x, t и s, которые являются числами с плавающей точкой.
- Переменная n является целым числом и инициализируется нулем.
- Затем вычисляется значение t как 1/x, где x - это введенное пользователем значение.
- Значение s инициализируется как t, а затем обновляется как сумма t и (1/2n+1) * t.
- Цикл while продолжается до тех пор, пока t больше e.
- После окончания цикла значение s удваивается и выводится на экран.
- Также выводится аналитическое выражение для функции ln((x+1)/(x-1)).
- Наконец, программа просит пользователя ввести значение x, после чего программа завершается.