12 (Вопросы по разным темам с ответами (программирование))
Описание файла
Файл "12" внутри архива находится в следующих папках: ГОСЫ!!!, 19, 27, 12. Концепция структурного программирования. Документ из архива "Вопросы по разным темам с ответами (программирование)", который расположен в категории "". Всё это находится в предмете "окончание университета" из 12 семестр (4 семестр магистратуры), которые можно найти в файловом архиве МАИ. Не смотря на прямую связь этого архива с МАИ, его также можно найти и в других разделах. Архив можно найти в разделе "к экзамену/зачёту", в предмете "окончание университета" в общих файлах.
Онлайн просмотр документа "12"
Текст из документа "12"
12. Концепция структурного программирования.(Голубков Ю.А.)
Основные принципы структурной методологии:
– принцип абстракции
Этот принцип позволяет разработчику рассматривать программу в нужный момент без лишней детализации. Детализация увеличивается при переходе от верхнего уровня абстракции к нижнему.
– принцип формальности
Он предполагает строгий методический подход к программированию, придает творческому процессу определенную строгость и дисциплину
– принцип модульности («Разделяй и властвуй»)
В соответствии с этим принципом программа разделяется на отдельные законченные фрагменты, модули, которые просты по управлению и допускают независимую отладку и тестирование. В результате отдельные ветви программы могут создаваться разными группами программистов.
– принцип иерархического упорядочения
Взаимосвязь между частями программы должна носить иерархический, подчиненный характер. Это, кстати, следует и из принципа нисходящего проектирования
В качестве методики структурного программирования Э. Дейкстра предложил пользоваться лишь конструкциями цикла и условного оператора, изгоняя goto как концептуально противоречащее этому стилю
Дейкстра предложил строить программу как композицию из нескольких типов управляющих конструкций (структур), которые позволяют сильно повысить понимаемость логики работы программы.
Основными конструкциями структурного программирования являются: следование, разветвление и повторение. Компонентами этих конструкций являются обобщенные операторы S, S1, S2 и условие P. В качестве обобщенного оператора может быть либо простой оператор используемого языка программирования (операторы присваивания, ввода, вывода, обращения к процедуре), либо фрагмент программы, являющийся композицией основных управляющих конструкций структурного программирования. Существенно, что каждая из этих конструкций имеет по управлению только один вход и один выход. Тем самым, и обобщенный оператор имеет только один вход и один выход.
Признаки структурного языка:
– оператор условия (IF … THEN … ELSE);
– операторные скобки.
В настоящее время существует след. способы написания программ:
– снизу вверх (подпрограммы, основная программа);
– сверху вниз (основная программа, подпрограммы);
– подход расширяющегося ядра.
Неудачное разбиение:
– модуль выполняет слишком много функций;
– остались невыделенными общие функции;
– модули взаимодействуют через общие переменные.
Три основных атрибута модуля:
– выполняет одну(две, три) функции;
– внутр. логика;
– использование в нескольких контекстах.
Программа, разработанная в соответствии с принципами структурного программирования, должна удовлетворять следующим требованиям:
– программа должна разделяться на независимые части, называемые модулями
– модуль - это независимый блок, код (текст) которого физически и логически отделен от кода других модулей;
– модуль выполняет только одну логическую функцию, иначе говоря, должен решать самостоятельную задачу своего уровня по принципу: один программный модуль - одна функция;
– работа программного модуля не должна зависеть:
– от входных данных;
– от того, какому программному модулю предназначены его выходные
данные;
– от предыстории вызовов программного модуля;
– размер программного модуля желательно ограничивать одной-двумя страницами исходного листинга (50-100 строк исходного кода);
– модуль должен иметь только одну входную и одну выходную точку;
– взаимосвязи между модулями устанавливаются по иерархической структуре;
– каждый модуль должен начинаться с комментария, объясняющего его назначение, назначение переменных, передаваемых в модуль и из него, модулей, которые его вызывают, и модулей, которые вызываются из него;
– при создании модуля можно использовать только стандартные управляющие конструкции: выбор, цикл, блок (последовательность операторов);
– оператор безусловного перехода или вообще не используется в модуле, или применяется в исключительных случаях только для перехода на выходную точку модуля;
– в тексте модуля необходимо использовать комментарии, в особенности в сложных местах алгоритма;
– идентификаторы переменных и модулей должны быть смысловыми, «говорящими»;
– в одной строке стоит записывать не более одного оператора. Если для записи оператора требуется больше, чем одна строка, то все последующие операторы записываются с отступами;
– желательно не допускать вложенности более, чем трех уровней;
– следует избегать использования языковых конструкций с неочевидной семантикой и программистских «трюков».
Применение структурного программирования позволяет увеличить скорость написания программ и облегчить отладку написанной программы. Технология структурного программирование применяется для улучшения читабельности (понимания) алгоритмов