Разберем программу по шагам, чтобы понять, сколько раз выполнится тело цикла:
t
присваивается значение 1024.while
: Цикл выполняется до тех пор, пока условие t mod 2 = 0
истинно. Это значит, что цикл выполняется, пока t
делится на 2 без остатка, то есть является четным числом.t
на 2 нацело (t := t div 2
).Теперь посмотрим, как изменяется значение t
при каждой итерации цикла:
t = 1024
, 1024 mod 2 = 0
, t := 1024 div 2 = 512
t = 512
, 512 mod 2 = 0
, t := 512 div 2 = 256
t = 256
, 256 mod 2 = 0
, t := 256 div 2 = 128
t = 128
, 128 mod 2 = 0
, t := 128 div 2 = 64
t = 64
, 64 mod 2 = 0
, t := 64 div 2 = 32
t = 32
, 32 mod 2 = 0
, t := 32 div 2 = 16
t = 16
, 16 mod 2 = 0
, t := 16 div 2 = 8
t = 8
, 8 mod 2 = 0
, t := 8 div 2 = 4
t = 4
, 4 mod 2 = 0
, t := 4 div 2 = 2
t = 2
, 2 mod 2 = 0
, t := 2 div 2 = 1
t = 1
, 1 mod 2 = 1
- условие t mod 2 = 0
не выполняется, цикл завершается.Таким образом, тело цикла выполнилось 10 раз.
Ответ: 10