Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
144
Добавлен:
21.04.2014
Размер:
28.16 Кб
Скачать

Разработка алгоритмов методом последовательной детализации. Вспомогательные алгоритмы

Под алгоритмом принято понимать описание последовательности действий, четкое выполнение которых приводит к решению поставленной задачи.

Эффективным методом построения алгоритмов является метод пошаговой детализации. При этом сложная задача разбивается на ряд более простых задач. Для каждой подзадачи составляется свой вспомогательный алгоритм. Требования к ним продиктованы необходимостью как решения подзадач, так и последующей их «стыковкой» в основном алгоритме. Эти подзадачи могут, в свою очередь, потребовать разбиения на еще более простые задачи, и т. д. В результате некоторые вспомогательные алгоритмы могут стать основными по отношению к вспомогательным алгоритмам более низкого уровня. Основной алгоритм содержит команды обращения к вспомогательным алгоритмам. Процесс пошаговой детализации заканчивается, когда задачи очередного уровня окажутся совсем простыми.

Вспомогательные алгоритмы создаются, когда возникает необходимость разбиения задачи на ряд более простых задач или когда есть необходимость многократного использования одного и того же набора действий в одном или разных алгоритмах. Вспомогательные алгоритмы, как уже отмечалось, должны быть состыкованы между собой в процессе «сборки» основного алгоритма. Для этого используются заголовки вспомогательных алгоритмов; с их помощью вызывают этот алгоритм из других вспомогательных или основного алгоритмов.

При составлении и использовании вспомогательных алгоритмов важно знать, что является для них исходными данными (аргументами) и результатами.

Метод последовательной детализации путем разбиения задачи на подзадачи лежит в основе технологии структурного программирования и широко применяется при использовании структурных языков программирования, таких как Паскаль или структурные версии Бейсика.

Согласно концепции структурного программирования, вспомогательный алгоритм должен:

  • Иметь заголовок (имя), с помощью которого его можно вызвать из других вспомогательных или основного алгоритмов;

  • Возвращать управление тому алгоритму, из которого он был вызван, т.е. после выполнения вспомогательного алгоритма должно продолжатся выполнение вызвавшего его алгоритма с той точки, в которой он был прерван;

  • Иметь возможность вызвать другие алгоритмы;

  • Быть относительно небольшим;

  • Иметь один вход и один выход;

  • Обладать единственной функцией, что служит ключом к хорошо спроектированному итоговому алгоритму.

Таким образом, при проектировании основного алгоритма нужно сначала определить необходимый набор функций, а затем разработать вспомогательные алгоритмы.

Соседние файлы в папке новая папка