Упр.86 ГДЗ Рабочая тетрадь Босова 9 класс (Информатика)
- а) На бесконечном клетчатом поле имеется горизонтальная стена. Длина стены неизвестна. Робот находится в одной из клеток, примыкающих к стене сверху. На рисунке указан один из возможных вариантов расположения Робота и стены (Робот обозначен буквой «Р»). Робот должен закрасить все клетки, примыкающие к стене сверху. Конечное положение Робота значения не имеет. Опишите укрупненными шагами (модулями) план действий по решению поставленной задачи.
- б) Где-то в поле Робота находятся две вертикальные стены равной, но неизвестной длины, расположенные одна напротив другой. Робот находится в произвольной клетке справа от правой стены, причем напротив нее. На рисунке указан один из возможных вариантов расположения Робота и стен (Робот обозначен буквой «Р»). Робот приступил к исполнению следующего алгоритма:
нц пока слева свободно
влево
кц
нц пока слева не свободно
вверх
кц
влево; вниз
нц пока справа не свободно или слева не свободно
нц пока слева свободно
закрасить; влево
кц
закрасить; вниз
нц пока справа свободно
закрасить; вправо
кц
закрасить; вниз
кцКаким будет результат исполнения данного алгоритма? Изобразите его на рисунке. Опишите алгоритм действий Робота укрупненными шагами.
- в) На бесконечном клетчатом поле имеется горизонтальная стена. Длина стены неизвестна. Робот находится в одной из клеток, примыкающих к стене сверху. Точное положение Робота неизвестно. На рисунке указан один из возможных вариантов расположения Робота и стен (Робот обозначен буквой «Р»). Робот должен закрасить через одну клетки, примыкающие к стене сверху, начиная с самой левой клетки. Конечное положение Робота значения не имеет. Алгоритм должен решать задачу для стены произвольного размера и любого допустимого начального положения Робота. Напишите алгоритм.
- г) Робот находится в произвольной точке внутри прямоугольного огороженного стенами участка клетчатого поля. Размеры прямоугольника неизвестны. Напишите алгоритм, с помощью которого Робот закрасит все клетки, примыкающие к нижней стороне прямоугольника. Конечное положение Робота может быть произвольным.
- д) Робот находится в произвольной точке внутри прямоугольного огороженного стенами участка клетчатого поля. Размеры прямоугольника неизвестны. Напишите алгоритм, с помощью которого Робот закрасит все клетки, примыкающие к сторонам прямоугольника, и вернется в начальное положение.
а) Сначала Робот должен выйти к крайней левой клетке, примыкающей к стене сверху. Затем он проходит вдоль стены вправо и закрашивает все клетки, которые находятся над стеной.
использовать Робот
алг
нач
нц пока снизу не свободно
влево
кц
вправо
нц пока снизу не свободно
закрасить; вправо
кц
кон
б) Робот сначала находит правую стену, затем поднимается над ней и переходит в область между стенами. После этого он закрашивает все клетки между стенами, двигаясь вниз по столбцам.
Результат работы алгоритма: будут закрашены все клетки внутри прямоугольной области между двумя вертикальными стенами, как на рисунке.
Укрупнённые шаги:
- Найти правую стенку.
- Обойти её сверху.
- Закрасить все клеточки между левой и правой стенками.
в) Сначала Робот переходит в крайнюю левую клетку, примыкающую к стене сверху. Затем он закрашивает через одну клетки, двигаясь вправо.
использовать Робот
алг
нач
нц пока снизу не свободно
влево
кц
вправо
нц пока снизу не свободно
закрасить
вправо; вправо
кц
кон
г) Чтобы закрасить все клетки, примыкающие к нижней стороне прямоугольника, Робот сначала идёт к левой стене, затем вниз до нижней стороны и закрашивает все клетки вдоль неё вправо.
использовать Робот
алг
нач
нц пока слева свободно
влево
кц
нц пока снизу свободно
вниз
кц
нц пока справа свободно
закрасить; вправо
кц
закрасить
кон
д) Робот последовательно закрашивает клетки, примыкающие ко всем сторонам прямоугольника, а затем возвращается в начальную точку.
использовать Робот
алг
нач
нц пока слева свободно
влево
кц
нц пока снизу свободно
вниз
кц
нц пока справа свободно
закрасить; вправо
кц
закрасить
нц пока сверху свободно
вверх; закрасить
кц
нц пока слева свободно
влево; закрасить
кц
нц пока снизу свободно
вниз; закрасить
кц
кон




