Нужна помощь с объяснением решения данного задания! Задание было: Вычислить сумму первых...

0 голосов

Нужна помощь с объяснением решения данного задания!
Задание было:
Вычислить сумму первых k слагаемых ряда :
1+1/(2^2)-1/(3^2)+1/(4^2)-...1/(k^2)
Вот решение.
var k,z,i:integer; s:real;
begin
readln(k);
z:=-1;
s:=1;
for i:=2 to k do
begin
z:=-z;
s:=s+z/(i*i);
end;
writeln('s = ',s);
end.


КАК тут было учтено то, что когда делим на нечетное число в квадрате, то знак стоит "-"?
В каких строчках? И как это объяснить?


спросил от Отличник (7.8k баллов) в категории Информатика
1 Ответ
0 голосов
ответил от Отличник (5.8k баллов)
 
Лучший ответ

Смотрите в строчке под номером 4 
z:=-1; z становится отрицательным
Потом его пустили по циклу, в первом круге цикла этот же z 
(z:=z;) становится с противоположным знаком(z:=-(-1);) Тоесть сначала выполняется действие добавления(+), в следующем кругу уже положительному z меняют знак на противоположный, и z опять у нас
с "-" и так k раз.

Вроде понятно обьяснил, ну если что обращайтесь.



оставил комментарий от Отличник (5.8k баллов)

Это можно сделать как для четных так и не для четных елементов изменив всего 1 число

оставил комментарий от Отличник (5.8k баллов)

Я бы даже сказал знак

оставил комментарий от Отличник (7.8k баллов)

Да, поняла, спасибо большое, очень благодарна)

оставил комментарий от Отличник (7.8k баллов)

А вот почему начинается цикл с -1, кстати?

оставил комментарий от Отличник (7.8k баллов)

А, все, поняла

...