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

