Предмет: Информатика, автор: 71627272

На бесконечном поле есть горизонтальная и вертикальная стены. Правый конец горизонтальной стены соединён с нижним концом вертикальной стены. Длины стен неизвестны. В горизонтальной стене есть ровно один проход, точное место прохода и его ширина неизвестны. Робот находится в клетке, расположенной рядом с вертикальной стеной слева от её верхнего конца.


На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»).

Напишите для Робота алгоритм, закрашивающий все клетки, расположенные непосредственно выше и ниже горизонтальной стены. Проход должен остаться незакрашенным. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок)

Приложения:

Ziorar: На картинке не видно положение робота и закрашенные клетки (точнее, они все закрашены...) Может, есть картинка понятнее? И ещё- в чём это надо делать (в PascalABC.NET, в Кумире, или ещё в чём) ?

Ответы

Автор ответа: Ziorar
39

Если это задание для Кумира, то вот нужный алгоритм:


использовать Робот

алг

нач

цел п

нц пока снизу свободно

вниз

кц

нц для п от 0 до 1

нц пока снизу стена

закрасить

влево

кц

нц пока снизу свободно и п=0

влево

кц

кц

вниз

нц для п от 0 до 2

нц пока сверху свободно и п<2

вправо

кц

нц пока сверху стена

закрасить

вправо

кц

кц

кон

Приложения:
Похожие вопросы
Предмет: Математика, автор: Аноним