Вспомогательные алгоритмы |
||
Почему задачи объединены в серию задач "Квадраты"? |
В задачах этой серии демонстрируется использование метода
пошаговой детализации на глубину до двух уровней
вложенности. Это значит, основной алгоритм строится из вызовов
вспомогательных алгоритмов первого уровня, а тело алгоритма первого
уровня наряду с командами может состоять из вызовов вспомогательных
алгоритмов второго уровня.
Например, в задаче изображения орнамента, состоящего из нескольких квадратов, можно выделить подзадачу изображения одного квадрата. Эта подзадача, в свою очередь, сводится к четырем одинаковым подзадачам изображения одной стороны квадрата и поворота. Таким образом, во всех задачах этой серии можно использовать однажды разработанные процедуры рисования квадрата. А процедуру перехода между квадратами (иногда две процедуры перехода) для каждой задачи надо разрабатывать свою. |
|
Примеры задач. | Процедуры изображения квадратов - одинаковые. Переходы от квадрата к квадрату могут различаться.
|
|
Алгоритм процедуры "квадрат со стороной 2". |
Для рисования одной стороны квадрата можно написать процедуру "сторона".
В эту процедуру надо включить и поворот, после которого исполнитель
оказывается в позиции, необходимой для рисования следующей стороны. Тело
алгоритма "квадрат со стороной 2"- четыре вызова процедуры "сторона".
Обход контура квадрата - против часовой стрелки. |
Учебная задача |
||
Постановка задачи. | Постановка задачи: Разработайте алгоритм, исполняя который "Стрелочка" "нарисует" орнамент по заданному образцу. При этом "Стрелочка" должна закончить свое перемещение в точке Б. Исходное
положение "Стрелочки": |
Образец для воспроизведения рисунка:
|
Решение задачи. | Решение задачи:
Точка Б в условии задачи стоит так, что после выполнения четырех процедур "квадрат" и трех процедур "переход"
алгоритм закончен. Исполнитель окажется точно в точке Б.
| |
Исполнение алгоритма:
АЛГОРИТМ ПУТЬ_1 |
Представление алгоритма в виде блок-схемы:
|