Вычислить сумму ряда путем цикла с предусловием (while) - Turbo Pascal
Формулировка задачи:
Программа определила количество
слагаемых 16.
А ведь задано в программе 6 слагаемых
(число определилось Eps = 0.007).
Что – то здесь не так. А что?
Решение задачи: «Вычислить сумму ряда путем цикла с предусловием (while)»
textual
Листинг программы
var n,i:integer;
e,t,s:real;
begin
write('e=');
readln(e);
write('n=');
readln(n);
s:=0;
for i:=1 to n do
begin
t:=1/sqr(2*i-1);
writeln('i=',i,' t=',t:10:6);
s:=s+t;
end;
writeln('Summa=',s:0:6);
n:=1;
t:=1;
writeln('n=',n,' t=',t:10:6);
s:=t;
while t>e do
begin
n:=n+1;
t:=1/sqr(2*n-1);
writeln('n=',n,' t=',t:10:6);
s:=s+t;
end;
writeln('Summa=',s:0:6);
end.
Объяснение кода листинга программы
- Создаются переменные n, i, e, t, s, которые будут использоваться в коде.
- Вводится значение переменной e и n с помощью функции readln().
- Создается переменная s и присваивается ей значение 0.
- Запускается цикл for, который будет выполняться от 1 до n.
- Внутри цикла вычисляется значение переменной t как 1/sqrt(2*(i-1)).
- Выводится значение переменной i, t на экран.
- Переменная s увеличивается на значение t.
- После завершения внутреннего цикла выводится значение переменной s.
- Запускается внешний цикл while.
- Внутри внешнего цикла увеличивается значение переменной n на 1.
- Вычисляется значение переменной t как 1/sqrt(2*(n-1)).
- Выводится значение переменной n, t на экран.
- Переменная s увеличивается на значение t.
- Цикл while продолжается до тех пор, пока значение переменной t больше значения переменной e.
- После завершения внешнего цикла выводится значение переменной s.
- Код завершается.