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

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

Ответы

Автор ответа: onetfriend
1

Ответ:

Объяснение:

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

алг

нач

нц пока справа свободно  

вправо

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

закрасить; выход

кц

кц

нц если справа стена то

закрасить; вниз

иначе вниз

все

кц_при справа стена

нц если справа стена то

закрасить; вниз

иначе выход

все

кц

кон

Возможно, немного коряво, но работает. Там есть пара нюансов. На горизонтальной стене может быть сколько угодно проходов, он их все пропустит, пока не упрется в вертикальную.

На вертикальной стене проход может быть только один. Когда у робота кончится слева стена второй раз - он остановится. Конечно, на бесконечном поле его можно было не останавливать, он просто будет уходить бесконечно далеко вниз, занимая память компьютера, но это неправильно.

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