НУЖЕН ОТВЕТ
Определите, что выведет данная программа:
var i: integer;
begin
for i := 7 to 14 do
if (i mod 2 = 0) and (i >= 10) then
write(i div 2, ', ')
else
if i <= 10 then
write(i * 2, ', ')
end.
14, 16, 18, 5, 22, 6, 26, 7
14, 16, 18, 5, 6, 7
14, 16, 18, 5, 6
14, 4, 18, 5, 6, 7
14 16 18 5 6 7
Объяснение:
Рассмотрим i от 7 до 9 - все это числа попадают под условие блока else (потому что не будет выполняться условие i >= 10, а там стоит оператор and, то есть для выполнения условия необходимо две истины)
Таким образом, сначала вывод будет таким:
14 16 18
То есть 7 • 2, 8 • 2, 9 • 2.
Далее рассмотрим числа от 10 до 14. Сразу понимаем, что эти числа попадут в блок if, в котором проверяется четность числа и то, больше ли оно 10. Все эти числа больше 10. Выбираем чётные: 10, 12, 14.
Таким образом, конечный вывод будет таким:
14 16 18 5 6 7