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


Шешім по шагам
7 қадамДвигаемся влево до левой вертикальной стены.
Поднимаемся вверх до деңгейі выше верхнего конца стены.
Выходим за левую вертикальную стену и спускаемся снаружи. Сначала движемся вниз, пока справа не появится стена, затем продолжаем движение вниз, пока стена справа не закончится.
Оказавшись в клетке непосредственно под горизонтальной стеной и левее области закрашивания, переходим вправо.
Закрашиваем все клетки этого ряда до правой вертикальной стены включительно.
Один из подходящих алгоритмов:
нц пока слева свободно
влево
кц
нц пока сверху свободно
вверх
кц
влево
нц пока справа свободно
вниз
кц
нц пока не справа свободно
вниз
кц
вправо
нц пока справа свободно
закрасить
вправо
кц
закрасить
нц пока слева свободно; влево; кц; нц пока сверху свободно; вверх; кц; влево; нц пока справа свободно; вниз; кц; нц пока не справа свободно; вниз; кц; вправо; нц пока справа свободно; закрасить; вправо; кц; закрасить
Бұл жауап талдау нәтижесінде алынды, бірақ банктің ресми кілтімен тексерілген жоқ — проверьте выкладки, прежде чем заучивать результат.
Где здесь ошибаются
Попытка пройти вниз через горизонтальную стену.
Закрашивание клетки снаружи области между вертикальными стенами.
Отсутствие отдельной команды закрасить после завершения цикла: последняя клетка может остаться незакрашенной.
Движение вправо до стены до выхода на ряд под горизонтальной стеной.