Вычисление суммы ряда чисел

Задача

Вычислить сумму ряда чисел 1/12 + 1/22 + 1/32 + … + 1/n2, где n определяется пользователем.

Решение

var
    n, i: word;
    sum: real;
 
begin
 
    write ('n = '); readln (n);
 
    sum := 0;
 
    for i := 1 to n do
        sum := sum + 1/(i*i);
 
    writeln (sum:6:5);
 
readln
end.

Тема

Циклы

Уровень

Простые задачи

Теги

Комментарии

В именно в данном случае правильнее складывать в порядке от слагаемых с большими номерами к слагаемым с меньшими номерами. Чем больше номер слагаемого, тем меньше его значение в данной задаче. При суммировании в прямом порядке может возникнуть ситуация, когда к достаточно большому значению суммы будет прибавляться очень малое приращение. Из-за особенностей машинной арифметики погрешность такой операции возрастает. Поэтому цикл лучше писать в форме for i := n downto 1.

Добавить комментарий