Правильно подсчитывается сумма ряда и число итераций при точностях ? - Turbo Pascal
Формулировка задачи:
Правильно ли будет считаться сумма ряда и число итераций , при точностях 0.01, 0,001 и точного значения суммы ряда 1/18 ?
Сам ряд
Решение задачи: «Правильно подсчитывается сумма ряда и число итераций при точностях ?»
textual
Листинг программы
const e1=0.01; e2=0.001; e3=0.0000001;
var delta, acry,sum:real;
k:integer;
begin
writeln(' ');
writeln('for e1=0.01');
k:=1;
delta:=1/24;
sum:=delta;
repeat
k:=k+1;
delta:=1/(k*(k+1)*(k+2)*(k+3));
sum:=sum+delta;
until(delta<=e1);
writeln('sum=',sum:0:4);
writeln('number of iteration=',k);
writeln;
writeln('for e2=0.001');
k:=1;
delta:=1/24;
sum:=delta;
repeat
k:=k+1;
delta:=1/(k*(k+1)*(k+2)*(k+3));
sum:=sum+delta;
until(delta<=e2);
writeln('sum=',sum:0:4);
writeln('number of iteration=',k);
writeln;
writeln('for e2=0.0000001');
k:=1;
delta:=1/24;
sum:=delta;
repeat
k:=k+1;
delta:=1/(k*(k+1)*(k+2)*(k+3));
sum:=sum+delta;
until(delta<=e3);
writeln('sum=',sum:0:4);
writeln('number of iteration=',k);
writeln('1/18=',1/18:0:4);
readln
end.
Объяснение кода листинга программы
В данном коде на Turbo Pascal выполняется подсчет суммы ряда чисел с точностью до трех знаков после запятой. Код состоит из трех блоков, каждый из которых предназначен для работы с разными точностями.
- В первой части кода задаются начальные значения переменных: e1, e2, e3, k, delta, acry, sum. Здесь же происходит инициализация переменной k.
- Во второй части кода происходит повторное вычисление переменной delta для каждого значения k, начиная с 1 и до тех пор, пока значение delta не станет меньше или равно значению e1. При этом значение sum увеличивается на каждое новое значение delta.
- В третьей части кода аналогичным образом происходит вычисление и сравнение для точности e2.
- В последней части кода вычисляется значение 1/18 и выводится на экран.
В данном коде используются следующие переменные:
- e1, e2, e3: константы, определяющие точность вычислений;
- k: переменная, инициализируется значением 1 и увеличивается на единицу на каждой итерации;
- delta: переменная, в которой вычисляется новое значение для каждого значения k;
- acry: переменная, в которой накапливается сумма всех значений delta;
- sum: переменная, в которой накапливается окончательная сумма ряда чисел.