Шешімі: Алгоритм для Робота у стен
На бесконечном поле имеется вертикальная стена. От её верхнего конца вправо отходит горизонтальная стена, а от правого конца горизонтальной стены вниз — вторая вертикальная стена. Робот находится справа от нижнего края первой вертикальной стены. Напишите алгоритм, который закрашивает исходную клетку Робота и все клетки, расположенные слева от второй вертикальной стены. Робот не должен разрушиться, а выполнение алгоритма должно завершиться.


Размеры стен и положение Робота могут быть произвольными. Конечное положение Робота не имеет значения.
Шешім по шагам
4 қадамЗакрашиваем клетку, в которой Робот находится первоначально.
Двигаемся вверх до горизонтальной стены, которая находится над клеткой у верхнего конца первой вертикальной стены.
$$нц\ пока\ сверху\ свободно вверх кц$$Двигаемся вправо до второй вертикальной стены.
$$нц\ пока\ справа\ свободно вправо кц$$Закрашиваем первую клетку слева от второй вертикальной стены. Затем спускаемся вдоль стены. После каждого перемещения проверяем, осталась ли справа стена: если нет, нижняя граница стены пройдена и клетку закрашивать нельзя.
$$закрасить нц\ пока\ не\ справа\ свободно вниз если\ не\ справа\ свободно\ то закрасить все кц$$алг
нач
закрасить
нц пока сверху свободно
вверх
кц
нц пока справа свободно
вправо
кц
закрасить
нц пока не справа свободно
вниз
если не справа свободно то
закрасить
все
кц
кон
Бұл жауап талдау нәтижесінде алынды, бірақ банктің ресми кілтімен тексерілген жоқ — проверьте выкладки, прежде чем заучивать результат.
Где здесь ошибаются
Закрашивают клетку ниже нижнего конца второй вертикальной стены.
Пытаются двигаться вверх или вправо без предварительной проверки свободного пути.
Не закрашивают исходную клетку Робота.
Продолжают движение вниз после окончания второй стены.