Вычислить значение суммы с заданной точностью - Pascal
Формулировка задачи:
Вычислить значение суммы S=2^(-2)+4^(-2)+6^(-2)+... с точностью до очередного члена <10^(-4)
Решение задачи: «Вычислить значение суммы с заданной точностью»
textual
Листинг программы
const t=0.0001;
var
s: double;
a: array [1..100] of double;
i,j: integer;
begin
j:=2; s:=0; i:=1;
a[1]:=1/sqr(2);
while a[i]>=t do
begin
s:=s+a[i];
i:=i+1; j:=j+2;
a[i]:=1/sqr(j);
//writeln (a[i], ' ');//выводятся все члены ПС
end;
writeln ('Членов ПС: ', i, '. Сумма: ', s);
end.
Объяснение кода листинга программы
- Объявляются константа
tсо значением0.0001, переменнаяsтипа double (вещественное число) для хранения суммы, и массивaразмером 100 элементов, каждый из которых - типа double для хранения последовательности чисел. - Объявляются переменные
i,jтипа integer (целое число). - Устанавливается значение
jравным 2,sравным 0, иiравным 1. - Вычисляется значение первого элемента массива
a[1]как обратной квадрат числа 2. - В цикле while проверяется каждый элемент
a[i]массива, пока он больше или равен заданной константе точностиt. - В теле цикла наращивается сумма
sс каждым элементомa[i]и индексiнаращивается на 1, а индексjнаращивается на 2. Затем, значение следующего элемента массиваa[i]вычисляется как обратная квадрат числаj. - Печатаются количество элементов в последовательности и их сумма.