Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Представление о структурном программировании



 

Первая электронно-вычислительная машина ENIAC начала работать в 1947 году. Если учесть, что и до ЭВМ существовали механические и электро-механические вычислительные устройства, то можно сделать вывод, что программирование – составление программ для вычислительных устройств – имеет довольно давнюю историю.

Однако довольно долго считалось, что составление программ, подобно сочинению стихов, занятие доступное немногим избранным. По мере накопления и обобщения опыта в составлении программ были выработаны сначала некоторые эмпирические правила, а затем развита теория программирования.

Важным шагом на этом пути превращения программирования из искусства в ремесло была концепция структурного программирования, предложенная в 60-х годах ХХ-го века. Согласно этой концепции любая программа может быть составлена с помощью всего трех программных структур:

 

1) последовательное выполнение операций;

2) ветвление (выбор из двух альтернатив на основании проверки условия

3) цикл (многократное выполнение операции, пока выполняется некоторое условии)


Обоснованием этой концепции послужила теорема сформулированная итальянскими математиками К. Бомом и Дж. Якопини в 1966 году:

Любую схему алгоритма можно представить в виде композиции вложенных блоков begin и end, условных операторов if, then, else, циклов с предусловием (while) и может быть дополнительных логических переменных (флагов)

 

На первый взгляд данная информация представляет лишь исторический интерес. Ведь операторы языка MATLAB’а, рассмотренные в предыдущей работе как раз и представляют эти структуры (Операторы switch и for, как легко проверить, несложно воспроизвести, используя три основные структуры). Таким образом, сам язык программирования навязывает программисту использование базовых структур.

Однако именно применение только трех базовых структур и является обоснованием рассмотренной выше методики пошаговой детализации (или, как нередко говорят, программирования сверху вниз).

Те из вас, кто начинал изучение программирование с FORTRAN’а, помнят о таком операторе как GO TO. Этот оператор вызывает переход управления программой в любое место программы. На следующем рисунке показано, как, примерно, может выглядеть фрагмент программы использующей этот оператор.

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

 

В наши дни большинство современных языков программирования просто не допускают средств, отличных от трех базовых структур. Программируя в MATLAB’е, мы не можем воспользоваться оператором GO TO, поскольку его в MATLAB’е попросту нет.

Однако понимание того, что любая, самая сложная программа может быть сложена из простых кирпичиков – базовых структур – позволяет с оптимизмом приступить к составлению достаточно сложных программ.

 

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.