Определите, что будет выведено на экран после выполнения следующего алгоритма: var s:integer; k:real; begin s := 25; if s mod 2 <> 0 then begin s := s – 1; k := s / 2; end else k:= s; writeln (k) end.
изначально 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)
будет выведено значение 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)