Жауабы: Алгоритм для Робота
нц пока справа свободно
если снизу свободно то
вниз
если справа свободно то
вверх
все
иначе
закрасить
все
влево
кц
У этого задания официального ключа нет, поэтому ответ получен в разборе және кілтпен салыстырылмаған. Нәтижені жаттамас бұрын, өтіңіз выкладки — там видно, откуда взялось каждое число.
Исполнитель Робот перемещается по бесконечному полю, разбитому на клетки. Между соседними по сторонам клетками могут находиться стены. Робот умеет выполнять команды «вверх», «вниз», «влево», «вправо», «закрасить», а также проверять условия «сверху свободно», «снизу свободно», «слева свободно», «справа свободно». Условия можно использовать с командами «если» и «пока».
На бесконечном поле есть горизонтальная и вертикальная стены. Левый конец горизонтальной стены соединён с нижним концом вертикальной стены. Длины стен неизвестны. В каждой стене есть ровно один проход, точное место прохода и его ширина неизвестны. Робот находится в клетке, расположенной непосредственно над горизонтальной стеной у её правого конца.
Напишите алгоритм, закрашивающий все клетки, расположенные непосредственно выше горизонтальной стены и правее вертикальной стены. Проходы должны остаться незакрашенными. Робот должен закрасить только клетки, удовлетворяющие этому условию. Алгоритм должен работать для любого допустимого расположения стен и проходов, не приводить к разрушению Робота и завершаться.


Где здесь ошибаются
Закрашивание клеток в проходах.
Отсутствие проверки направления справа, из-за чего алгоритм не завершается.
Попытка пройти сквозь вертикальную или горизонтальную стену.
Перемещение влево до бесконечности без условия завершения.