Задать вопрос
26 ноября, 06:13

Нужна помощь с объяснением решения данного задания!

Задание было:

Вычислить сумму первых 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.

КАК тут было учтено то, что когда делим на нечетное число в квадрате, то знак стоит "-"?

В каких строчках? И как это объяснить?

+4
Ответы (1)
  1. 26 ноября, 09:58
    0
    Смотрите в строчке под номером 4

    z:=-1; z становится отрицательным

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

    с "-" и так k раз.

    Вроде понятно обьяснил, ну если что обращайтесь.
Знаете ответ?
Сомневаетесь в ответе?
Найдите правильный ответ на вопрос ✅ «Нужна помощь с объяснением решения данного задания! Задание было: Вычислить сумму первых k слагаемых ряда: 1+1 / (2^2) - 1 / (3^2) + 1 / ...» по предмету 📘 Информатика, а если вы сомневаетесь в правильности ответов или ответ отсутствует, то попробуйте воспользоваться умным поиском на сайте и найти ответы на похожие вопросы.
Смотреть другие ответы
Похожие вопросы по информатике
Сделать так чтобы Writeln был заменен другим словом и повторялься не больше двух раз program choise; var N_M:integer; writeln (' введи номер месяца ') ; readln (N_M) ; case N_M of 1:writeln (' январь ') ; 2:writeln (' февраль ') ;
Ответы (1)
Сократите эту программу program sr; var a, b, c : real; y, x, xb, xc : real; na, nb, nc: integer; function stup (x: real; n: integer) : real; var i: integer; k: real; begin k:=1; for i : = 1 to n do k : = k * x; stup : = k; end;
Ответы (1)
Определить значение переменной у после выполнения следующих фрагментов программы: a) Var у : real; i : integer; у : = 1; i : = 5; while i> 2 do i: = i - 1; y:=y + 1 * i; b) Var у : real; i : integer; у : = 1; i : = 2; repeat i: = 2 * i;
Ответы (1)
Как сделать теперь без массива (паскале) ? var nm:array of integer; j, l:integer; begin nm: = new integer[3] (random (20), random (20), random (20)) ; writeln ('nm[0] = ', nm[0]) ; writeln ('nm[1] = ', nm[1]) ; writeln ('nm[2] = ', nm[2]) ;
Ответы (1)
Где здесь ошибка program n_11; var a, b, c:Real; var d:Real; var x, x1, x2:Real; begin WriteLn ('Расширение квадратного уровнения') ; Write ('Введите коофиценты a, b, c >>') ; ReadLn (a, b, c,) ; d:=b*b-4*a*c;
Ответы (1)