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


Где здесь ошибаются
Закрашивание клеток, расположенных за концами стен.
Попытка определить длину стены только по условию «справа свободно».
Отсутствие возврата на одну клетку после прохода ряда.
Движение вниз или вверх без проверки свободного пути.