12.1. На бесконечном поле имеются две одинаковые горизонтальные стены, являющиеся противоположными сторонами прямоугольника. Длины горизонтальных стен — 5 клеток, расстояние между стенами — 4 клетки. Робот находится в клетке, расположенной с внешней стороны верхней горизонтальной стены, — во второй клетке справа. На рисунке указано расположение стен и Робота. Робот обозначен буквой «Р».
Напишите для Робота программу, использующую не менее 3 циклических алгоритмов, закрашивающую все клетки, расположенные с внутренней стороны горизонтальных стен. Вы можете использовать цикл нц-раз-кц или нц-пока-кц. Робот должен закрасить только клетки, удовлетворяющие данному условию. На рисунке показаны клетки, которые Робот должен закрасить (см. рис.).
Конечное расположение Робота может быть произвольным. При исполнении алгоритма Робот не должен разрушиться. Выполнение алгоритма должно завершиться. Алгоритм может быть выполнен в среде формального исполнителя или записан в текстовом редакторе. Сохраните алгоритм в формате программы Кумир или в текстовом файле. Название файла и каталог для сохранения Вам сообщат организаторы.
12.2. На бесконечном поле имеются две одинаковые горизонтальные стены, являющиеся противоположными сторонами прямоугольника. Длины стен неизвестны. Робот находится в клетке, расположенной с внешней стороны верхней горизонтальной стены. На рисунке указан один из возможных способов расположения стен и Робота. Робот обозначен буквой «Р».
Напишите для Робота программу, закрашивающую все клетки, расположенные с внутренней стороны горизонтальных стен. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рис.).
Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться. Выполнение алгоритма должно завершиться. Алгоритм может быть выполнен в среде формального исполнителя или записан в текстовом редакторе. Сохраните алгоритм в формате программы Кумир или в текстовом файле. Название файла и каталог для сохранения Вам сообщат организаторы.
12.1. Следующий алгоритм выполнит требуемую задачу.
| Двигаемся вправо на 1 клетку, затем обходим стену.
вправо
вправо
вниз
| Двигаемся влево на 5 клеток, закрашивая все клетки на пути.
нц 5 раз
влево
закрасить
кц
| Двигаемся вниз на 3 клетки.
нц 3 раз
вниз
кц
| Двигаемся вправо на 5 клеток, закрашивая все клетки на пути.
нц 5 раз
закрасить
вправо
кц
12.2. Следующий алгоритм выполнит требуемую задачу.
| Двигаемся вправо, пока не дойдём до горизонтальной стены.
нц пока снизу стена
вправо
кц
| Обходим стену.
вниз
влево
| Двигаемся влево, пока не дойдём до конца горизонтальной стены, закрашивая все клетки, затем вправо.
нц пока сверху стена
закрасить
влево
кц
вправо
| Двигаемся вниз, пока не дойдём до горизонтальной стены.
нц пока снизу свободно
вниз
кц
| Двигаемся вправо до конца горизонтальной стены, закрашивая все клетки на пути.
нц пока снизу стена
закрасить
вправо
кц

