- •4.1 Метод пошаговой детализации
- •4.2. Представление о структурном программировании
- •4.3. Сведения о модульном программировании
- •4.4. Краткая информация об объектно-ориентированном программировании
- •4.5. Что еще почитать
- •4.6. Задания
- •4.7. Справочная информация
- •4.8. Программное обеспечение
- •@Fname , где fname - имя m-функции.
4.2. Представление о структурном программировании
Первая электронно-вычислительная машина ENIAC начала работать в 1947 году. Если учесть, что и до ЭВМ существовали механические и электро-механические вычислительные устройства, то можно сделать вывод, что программирование – составление программ для вычислительных устройств – имеет довольно давнюю историю.
Однако довольно долго считалось, что составление программ, подобно сочинению стихов, занятие доступное немногим избранным. По мере накопления и обобщения опыта в составлении программ были выработаны сначала некоторые эмпирические правила, а затем развита теория программирования.
Важным шагом на этом пути превращения программирования из искусства в ремесло была концепция структурного программирования, предложенная в 60-х годах ХХ-го века. Согласно этой концепции любая программа может быть составлена с помощью всего трех программных структур:
последовательное выполнение операций;
ветвление (выбор из двух альтернатив на основании проверки условия
цикл (многократное выполнение операции, пока выполняется некоторое условии)
О
боснованием
этой концепции послужила теорема
сформулированная итальянскими
математиками К. Бомом и Дж. Якопини в
1966 году:
Любую схему алгоритма можно представить в виде композиции вложенных блоков begin и end, условных операторов if, then, else, циклов с предусловием (while) и может быть дополнительных логических переменных (флагов)
На первый взгляд данная информация представляет лишь исторический интерес. Ведь операторы языка MATLAB’а, рассмотренные в предыдущей работе как раз и представляют эти структуры (Операторы switch и for, как легко проверить, несложно воспроизвести, используя три основные структуры). Таким образом, сам язык программирования навязывает программисту использование базовых структур.
Однако именно применение только трех базовых структур и является обоснованием рассмотренной выше методики пошаговой детализации (или, как нередко говорят, программирования сверху вниз).
Т
е
из вас, кто начинал изучение программирование
с FORTRAN’а, помнят о таком
операторе как GO TO.
Этот оператор вызывает переход управления
программой в любое место программы. На
следующем рисунке показано, как, примерно,
может выглядеть фрагмент программы
использующей этот оператор.
Можете поверить человеку, который начинал свой путь в программировании именно с программ такой структуры, разобраться в логике таких программ невероятно сложно. Даже если сам их написал. Как следствие, отладка и тестирование таких программ так же очень трудоемки.
В наши дни большинство современных языков программирования просто не допускают средств, отличных от трех базовых структур. Программируя в MATLAB’е, мы не можем воспользоваться оператором GO TO, поскольку его в MATLAB’е попросту нет.
Однако понимание того, что любая, самая сложная программа может быть сложена из простых кирпичиков – базовых структур – позволяет с оптимизмом приступить к составлению достаточно сложных программ.
