


Помогите срочно с задачей в кумир
Есть поле неизвестных размеров и прямоугольник и с неизвестным размерами , закрасить всё клетки по периметру этого прямоугольника. Не известно где находится Робот исполнитель . Второе это пример как должно получиться.
3 разветвлённых условия на:
есть ли что-то сверху
если ли что-то снизу
ничего нет ни сверху, ни снизу
Дальше, в зависимости от контекста, к условиям подбираешь "идти влево-вправо, спускаясь вниз (или вверх) и отталкиваясь от стенок, пока не сработает одно из первых двух условий сверху " (а дальше просто обводка прямоугольника, сам справишься).
Также добавь постоянную проверку " если появилась стенка сверху / снизу и дополнительно есть стенка справа / слева " (если проверка сработала, пускай робота юлозить в противоположную сторону)
Код делай сам, если возникнут вопросы или проблемы - пиши
использовать Робот
алг
нач
лог V
нц пока слева свободно
влево
кц
нц пока сверху свободно
вверх
кц
нц пока слева свободно
влево
кц
нц
нц пока снизу свободно
вниз
если справа стена то V:=да; выход все
кц
вправо
нц пока сверху свободно
вверх
если справа стена то V:=нет; выход все
кц
если справа стена то выход
иначе вправо
все
кц
если V то нц пока справа стена
вниз
кц
вверх
все
нц пока справа стена
закрасить
вверх
кц
закрасить
нц вправо
закрасить
кц при снизу свободно
нц вниз
закрасить
кц при слева свободно
нц влево
закрасить
кц при сверху свободно
кон
Программа состоит из четырех частей, каждая часть отделена пустой строкой.
1) Переместить робота в левый верхний угол поля.
2) Начиная с левого верхнего угла искать левую стенку прямоугольника.
3) Если левая стенка обнаружена, но робот находится в верхнем её конце, то передвинуть его к нижнему концу стенки.
4) Закраска периметра:
закраска левой стенки;
закраска верхней стенки;
закраска правой стенки;
закраска нижней стенки.