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


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