- •Исполнитель Чертежник
- •Прямоугольная система координат
- •Работа команды «сместиться на вектор».
- •Задания для самостоятельного решения.
- •Работа команды «сместиться в точку».
- •Задания для самостоятельного решения.
- •Линейные алгоритмы.
- •Рисование букв.
- •Задания для самостоятельного решения.
- •Вспомогательные алгоритмы. Алгоритмы с аргументами.
- •Алгоритм рисования слова мир.
- •Задания для самостоятельного решения.
- •Алгоритмы с аргументами.
- •Задания для самостоятельного решения.
Задания для самостоятельного решения.
Задание 1. Используя алгоритм рисования букв, составьте алгоритмы для слов:
а) тик;
б) так;
в) трон
Задание 2. Составьте алгоритм рисования своего имени.
Вспомогательные алгоритмы. Алгоритмы с аргументами.
Алгоритм рисования слова мир.
Составив три алгоритма для рисования букв М, И, Р, можно не только последовательно приказывать ЭВМ выполнять эти алгоритмы, но и задать порядок их выполнения в виде алгоритма:
использовать Чертежник алг МИР нач . буква М . буква И . буква Р кон |
|
Строки "буква М", "буква И", "буква Р" в записи алгоритма "МИР" — это команды алгоритмического языка, которые означают соответственно:
выполнить алгоритм с именем "буква М",
выполнить алгоритм с именем "буква И",
выполнить алгоритм с именем "буква Р".
Если теперь поместить в ЭВМ алгоритм "МИР" и алгоритмы "буква М", "буква И", "буква Р", а затем приказать ЭВМ выполнить алгоритм "МИР", то ЭВМ автоматически выполнит сначала алгоритм "буква М", потом — "буква И" и наконец — "буква Р".
Запишем алгоритм слова мир с использование вспомогательных алгоритмов на алгоритмическом языке:
|
использовать Чертежник алг мир нач . буква_м . буква_и . буква_р кон алг буква_м нач . опустить перо . сместиться на вектор (0, 4) . сместиться на вектор (1, -2) . сместиться на вектор (1,2) . сместиться на вектор (0, -4) . поднять перо . сместиться на вектор (1, 0) кон алг буква_и нач . сместиться на вектор (0,4) . опустить перо . сместиться на вектор (0,-4) . сместиться на вектор (2,4) . сместиться на вектор (0,-4) . поднять перо . сместиться на вектор (1,0) кон алг буква_р нач . опустить перо . сместиться на вектор (0,4) . сместиться на вектор (2,0) . сместиться на вектор (0,-2) . сместиться на вектор (-2,0) . поднять перо . сместиться на вектор (3,-2) кон |
Алгоритмы "буква М". "буква И" и "буква Р" в этом примере называются вспомогательными для основного алгоритма "МИР".
Приказ на выполнение вспомогательного алгоритма называется вызовом этого вспомогательного алгоритма
В общем случае если в записи алгоритма X встречается вызов алгоритма У, то алгоритм Y называется вспомогательным для X, а алгоритм X называется основным для Y.
Применение вспомогательных алгоритмов позволяет разбить задачу на части, структурировать её. Это помогает легче ориентироваться в логике алгоритма, ускоряет процесс создания алгоритмов, так как алгоритм может создать группа людей, в которой каждый отвечает за свой часть алгоритма, сокращает размер алгоритма, если есть повторяющиеся фрагменты обработки информации.
Существует две стратегии построения алгоритма:
технология “снизу-вверх”, в которой используются ранее составленные алгоритмы в качестве вспомогательных. Для этого задача(основной алгоритм) разбивается на такие подзадачи, алгоритм решения которых уже известен, т.е. нерешенная задача сводится к решенным.
технология “сверху вниз”, в которой задача разбивается на подзадачи, которые затем решаются.
Правила выполнения вспомогательного алгоритма :
при вызове вспомогательного алгоритма работа основного алгоритма приостанавливается, запоминается место вызова;
передается управление во вспомогательный алгоритм, и он выполняется;
по окончании работы вспомогательного алгоритма, вспоминается место команды его вызова, и происходит переход к исполнению следующей за ней команды.
Один и тот же алгоритм может выступать и в роли вспомогательного, и в роли основного.
Алгоритм "МИР" сам может быть использован как вспомогательный. Например, мы можем составить следующий алгоритм для рисования лозунга "МИРУ МИР":
использовать Чертежник алг МИРУ МИР нач . МИР . буква У . сместиться на вектор (2, 0) / (пропуск между словами) . МИР кон |
|
В этом примере алгоритм "МИР" является вспомогательным по отношению к алгоритму "МИРУ МИР" и основным по отношению к алгоритму "буква М".
