Пожалуйста, помогите сделать Робота! ** бесконечном поле клеток находится замкнутая по...

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

Пожалуйста, помогите сделать Робота!

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

Конечное положение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера стен и любой допустимой начальной позиции Робота.
image
image

Информатика (110 баллов) | 55 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

В фигурных скобках добавил комментарии

 

{определяем процедуру вправо-вверх}
ПРОЦ вправо_вверх
ПОКА сверху свободно И справа свободно ДЕЛАТЬ
  вправо; вверх; закрасить;
КОНЕЦ

{определяем процедуру вправо-вниз}
ПРОЦ вправо_вниз
ПОКА снизу свободно И справа свободно ДЕЛАТЬ
  вправо; вниз; закрасить;
КОНЕЦ

ПРОГРАММА зигзаг;
{перемещаем Робота в левый нижний угол}
ПОКА слева свободно ДЕЛАТЬ
  влево
КОНЕЦ
ПОКА снизу свободно ДЕЛАТЬ
  вниз
КОНЕЦ
{закрашиваем первую клетку}
   закрасить;
{двигаемся, пока не упрёмся в правую стенку}
ЕСЛИ справа свободно ТО
  вправо_вверх;
  вправо_вниз
КОНЕЦ

(52.6k баллов)