Ответ: Алгоритм для Робота
нц пока не снизу свободно
вправо
кц
нц пока снизу свободно
вниз
закрасить
кц
закрасить
нц пока не снизу свободно
вправо
закрасить
кц
У этого задания официального ключа нет, поэтому ответ получен в разборе и с ключом не сверен. Перед тем как заучивать результат, пройдите выкладки — там видно, откуда взялось каждое число.
Исполнитель Робот перемещается по бесконечному полю, разбитому на клетки. Между соседними по сторонам клетками могут находиться стены. Команды Робота: «вверх», «вниз», «влево», «вправо», «закрасить», а также проверки условий «сверху свободно», «снизу свободно», «слева свободно», «справа свободно». Команды проверки можно использовать с условиями «если» и «пока», применяя логические связки «и», «или», «не». Если Робот получает команду пройти сквозь стену, он разрушается.
На бесконечном поле имеется стена. Стена состоит из трёх последовательных отрезков: вправо, вниз, вправо; все отрезки имеют неизвестную длину. Робот находится в клетке, расположенной непосредственно сверху левого конца первого отрезка.
Напишите алгоритм, закрашивающий все клетки, расположенные непосредственно правее второго отрезка и над третьим. Робот должен закрасить только клетки, удовлетворяющие этому условию. Алгоритм должен работать для произвольной длины отрезков и любого допустимого расположения стены, не приводить к разрушению Робота и завершаться.


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