Вспомогательные алгоритмы |
||
Что значит "структурное проектирование алгоритмов"? | "Структурное проектирование алгоритмов" – это методика разработки алгоритмов, в основе которой два принципа: | |
1) любой алгоритм может быть построен из трёх базовых управляющих структур: следование (см. линейные алгоритмы, 1-й урок), ветвление (3-й урок), цикл (4-й урок); |
2) метод последовательной (пошаговой) детализации. Сначала разрабатывается основной алгоритм, затем вспомогательные алгоритмы первого уровня, затем – второго уровня и т.д.. Поэтому другое название этого метода – метод проектирования алгоритмов "сверху вниз". |
|
Что такое "основной алгоритм"? |
Применение метода пошаговой детализации означает, что необходимо разделить
поставленную задачу на подзадачи. Каждую из подзадач нужно
решать отдельно, независимо от других, оформляя решение в виде
вспомогательного алгоритма.
Правильно построенный основной алгоритм содержит только вызовы вспомогательных алгоритмов. |
|
Что такое "процедура"? |
Вспомогательные алгоритмы принято называть процедурами.
Термин "процедура" происходит от латинского procedere, что значит продвигаться. Использование процедур позволяет упростить и ускорить разработку сложных алгоритмов. |
|
Описать процедуру решения подзадачи означает указать её имя и записать команды, исполняя которые исполнитель решит эту подзадачу. Для Стрелочки общий вид описания процедуры таков: ПРОЦЕДУРА <Имя процедуры>
Команды, описанные внутри процедуры, называют также телом процедуры. |
Вызов процедуры означает обращение к процедуре по имени с ключевым словом ДЕЛАЙ : ДЕЛАЙ <Имя процедуры> При вызове процедуры исполнитель исполнит команды тела процедуры. Затем будет исполнена команда, стоящая после вызова ДЕЛАЙ <Имя процедуры> и далее следующие за ней команды. |
|
Описание и вызов процедуры на языке блок-схем. | Вызов процедуры изображается символом "предопределенный процесс" (или "блок с двойными стенками"). Все процедуры должны быть описаны в виде отдельных блок-схем, имя процедуры должно стоять в блоке НАЧАЛО. | |
Общий вид блок-схемы любой задачи, разбитой на подзадачи:
|
||
Описание и вызов процедур в интерфейсе "Стрелочки". |
При описании или вызове процедуры для "Стрелочки" после нажатия на
соответствующую кнопку открывается окно со списком уже описанных для
данной задачи процедур и строкой ввода имени для новой процедуры. Любое
новое имя вводится только один раз и в дальнейшем должно выбираться из
списка. Закрыть окно без выбора процедуры можно нажатием клавиши <Esc>. |
|
|
|
Учебная задача |
||
Постановка задачи. | Постановка задачи: Разработайте алгоритм перемещения исполнителя из точки А в точку Б, при этом след должен точно соответствовать приведенному в образце орнаменту. Для изображения фрагмента орнамента используйте процедуру. Исходное
положение "Стрелочки": | Образец для воспроизведения рисунка: |
Решение задачи. | Решение задачи:
В образце видны повторяющиеся фрагменты:
Всего - четыре одинаковых фрагмента: Следовательно, нужно разработать вспомогательный алгоритм (процедуру) изображения одного фрагмента. А в основном алгоритме разместить четыре вызова процедуры. |
|
Исполнение алгоритма:
АЛГОРИТМ ПУТЬ_1 |
Представление алгоритма в виде блок-схемы:
|