изначально s будет равно 25, функция mod - остаток от деления
здесь у нас цикл с условием выполнения, если s будет делиться на 2 без остатка (т.е. остаток будет равен нулю)
в первом случае (когда s=25) у нас получается остаток 1, идем по циклу, получаем s=24 (т.к. s присваивается значение s-1, т.е. 25-1=24) и k=s/2=24/2=12
далее если идти по циклу с s=24, получаем остаток 0 (24/2=12 - целое число без остатка)
по условию цикла получаем k=24 (если остаток 0, то значение s присваиваем k)
// PascalABC.NET 3.0, сборка 1139 от 10.01.2016 begin var n:=ReadInteger('Количество элементов в массиве: '); var a:=ArrRandom(n,-50,50); a.Println(','); Writeln('Четные элементы: '); var i:=1; while i<n do begin Write(a[i],' '); Inc(i,2) end; Writeln; Writeln('Нечетные элементы: '); i:=0; while i<n-1 do begin Write(a[i],' '); Inc(i,2) end; Writeln end.
Тестовое решение: Количество элементов в массиве: 10 15,-18,-29,-25,46,21,-8,-17,-9,15 Четные элементы: -18 -25 21 -17 15 Нечетные элементы: 15 -29 46 -8 -9
будет выведено значение k, равное 24
Объяснение:
изначально s будет равно 25, функция mod - остаток от деления
здесь у нас цикл с условием выполнения, если s будет делиться на 2 без остатка (т.е. остаток будет равен нулю)
в первом случае (когда s=25) у нас получается остаток 1, идем по циклу, получаем s=24 (т.к. s присваивается значение s-1, т.е. 25-1=24) и k=s/2=24/2=12
далее если идти по циклу с s=24, получаем остаток 0 (24/2=12 - целое число без остатка)
по условию цикла получаем k=24 (если остаток 0, то значение s присваиваем k)
begin
var n:=ReadInteger('Количество элементов в массиве: ');
var a:=ArrRandom(n,-50,50);
a.Println(',');
Writeln('Четные элементы: ');
var i:=1;
while i<n do begin Write(a[i],' '); Inc(i,2) end;
Writeln;
Writeln('Нечетные элементы: ');
i:=0;
while i<n-1 do begin Write(a[i],' '); Inc(i,2) end;
Writeln
end.
Тестовое решение:
Количество элементов в массиве: 10
15,-18,-29,-25,46,21,-8,-17,-9,15
Четные элементы:
-18 -25 21 -17 15
Нечетные элементы:
15 -29 46 -8 -9