Лекция: И Т. Д.
Методы последовательной детализации применяется при любом конструировании сложных объектов. Это естественная логическая последовательность мышления конструктора: постепенное углубление в детали. В нашем случае речь идет тоже о конструировании, но только не технических устройств, а алгоритмов. Достаточно сложный алгоритм другим способом практически построить невозможно. Такая методика позволяет организовать работу коллектива программистов над сложным проектом. Например, руководитель группы строит основной алгоритм, а разработку вспомогательных алгоритмов и составление подпрограмм поручает своим сотрудникам.
Вспомогательные алгоритмы, следовательно, создаются, когда возникает необходимость разбиения задачи на ряд более простых задач или когда есть необходимость многократного использования одного и того же набора действий в одном или разных алгоритмах.
Метод последовательной детализации путем разбиения задачи на подзадачи лежит в основе технологии структурного программирования и широко применяется при использовании структурных языков программирования, таких, как Паскаль или структурные версии Бейсика.
Согласно концепции структурного программирования, вспомогательный алгоритм должен:
· Иметь заголовок ( имя ), с помощью которого его можно вызвать (обратится к нему чтобы начать его выполнение) из двух вспомогательных или основного алгоритмов ( это нужно для “состыковки” алгоритмов);
· Возвращать управление тому алгоритму, из которого он был вызван, т. е. После выполнения вспомогательного алгоритма должно продолжатся, выполнение вызвавшего его алгоритма с той точки, в которой он был прерван;
· иметь возможность вызвать другие алгоритмы;
· быть относительно небольшим.
Желательно также, чтобы вспомогательный алгоритм:
· имел один вход ( т. е. Его выполнение всегда начиналось в одной точке, независимо от того, откуда и при каких условиях он был выхван0 и один выход. Это гарантирует его замкнутость и упрощает работу с состыкованными алгоритмами;
· обладает единственной функцией (например, вычислить недельный заработок сотрудника, напечатать отчет о состоянии оборудования), что служит ключом к хорошо спроектированному итоговому алгоритму? Таким образом, при проектировании основного алгоритма нужно сначала определить необходимый набор функции, а затем разработать вспомогательный алгоритмы.
При составлении и использовании вспомогательных алгоритмов важно знать, что является для них исходными данными (аргументами) и результатами их выполнения. Иногда команды вызова вспомогательного алгоритма содержат указания на имена переменных, значения которых являются для него исходными данными, и имена переменных, значения которых будут являться результатами его выполнения и использоваться в дальнейшем вне его. Иногда результатом выполнения вспомогательного алгоритма может стать значение некоторой сигнальной переменной (флажка), сообщающее, например, об истинности какого-то условия или наличии какого-либо факта, скажем корней уравнения (т. е. Значение флажка может быть равно 1или0). При записи программы для компьютера на языках программирования высокого уровня вспомогательные алгоритмы реализуются в виде программ. Правила обращения к ним и возврата в основную программу определяются конкретным языкам программирования. Программы общего назначения могут объединиться в библиотеки программ (процедур или функций). В языках программирования высокого уровня ветвление реализуется с помощью условного оператора.