** бесконечном поле есть горизонтальная и вертикальная стены. Правый конец горизонтальной...

0 голосов
831 просмотров

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


image

Информатика (14 баллов) | 831 просмотров
0

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

Дан 1 ответ
0 голосов

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


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

алг

нач

цел п

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

вниз

кц

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

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

закрасить

влево

кц

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

влево

кц

кц

вниз

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

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

вправо

кц

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

закрасить

вправо

кц

кц

кон


image
image
image
(5.3k баллов)