Определите значения переменных x и y после выполнения следующего фрагмента программы? x := 8; y:=2;
if x > y then begin x := x - y; y:= x; end
else begin y := y - x; x := y; end;
Укажите правильный вариант ответа:
x = 2, y = -6
x = 6, y = 6
x = -6, y = -6
x = 6, y = 8
x = 6, y = -6
x = 6, y = 6
Объяснение:
Просмотрим ход программы.
Вначале мы присваиваем x значение 8, а у значение 2.
Затем идет условие if x > y, то есть проверяем, больше ли х, чем у?
8 > 2, так что да, больше. Следовательно идем по "ветке" then.
("ветку" else мы пропускаем, так как она выполнялась бы только в том случае, если бы x не был больше у)
x := x - y, подставляем значения: х = 8 - 2 = 6
y:= x, то есть присваиваем у значение х. А в х у нас лежит 6, так что и у будет равен 6.
ответ: x = 6, y = 6