Для посетителейРеклама |
Основные принципы теории структурного программирования.
Просмотров: 8561
Основные принципы теории структурного программирования. Иерархичность, модульность, вложенность. Элементарные программы (структура).Структурное программирование предполагает несколько этапов создания программы. Декомпозиция (анализ задачи) – разбиение задачи на несколько подзадач, установление взаимосвязей между подзадачами, создание иерархического соподчинения. Разбиение задачи на подзадачи производится до уровня элементарных программ (структур). Любая элементарная программа имеет 1 вход и 1 выход.
Все элементарные программы делятся на группы: 1. Последовательность – каждое действие выполняется в строго определенном порядке. Как правило, получение структуры типа последовательность является 1м шагом декомпозиции. 2. Разветвляющиеся алгоритмы – предполагает анализ алгоритма и разбиение его до уровня элементарных программ. При этом используется принцип вложенности: каждая элементарная программа может быть блоком действия в любой другой элементарной программе. Уровень вложенности ничем не ограничивается. Помимо принципа вложенности в теории структурного программирования определяются такие понятия как иерархичность и модульность.
Иерархичность – это система соподчинения классов-родителей и классов-потомков. Модуль – это самостоятельная часть программы, имеющая определенное назначение и обеспечивающая заданные функции обработки автономно от других программных модулей. Модуль характеризует функциональная завершенность и логическая независимость. Т. о. модульная программа – это такая программа, в которой любую часть логической структуры можно изменить, не вызывая изменений в остальных частях программы.
Элементарные программы (структуры): If-Then (если – то): применяется, когда действие выполняется только при соблюдении условия, в противном случае ничего не происходит. If-Then-Else (если – то – иначе): применяется, когда нужно сделать выбор между 2 действиями. Case (выбор/выбор по ключу): применяется, когда надо сделать единственный выбор из множества альтернатив S1-Sn(напр.: меню). Реализация в C++: switch (key) { case V1; S1; break; case V2; S2; break; ………. case Vn; Sn; break; default: Sn+1; } В качестве key может использоваться переменная целого или символьного типа. При совпадении значения key с одним из значений V1-Vn выполняется соответствующие действие S1-Sn. Если нет break, то будут выполнятся все операторы, стоящие ниже case. Если key не совпал не с 1 из V1-Vn, то выполняется действие default. Циклические структуры – используются, когда блок действий нужно повторить несколько раз. Fordo (цикл с параметром): применяется, когда заранее известно количество повторений или, если на момент выполнения блока действий количество повторений можно просчитать.
i – параметр, который изменяется с каждым проходом тела цикла S1 по закону i=i+i2, выполнение цикла завершается когда i>i3 (в качестве условия завершения может быть другое арифметическое или логическое выражение). i=i1 – инициализация. Циклы DoWhileи WhileDo применяются, если не известно число повторений тела цикла (и нельзя посчитать). При этом для конструкции DoWhileцикл выполнится хотя бы 1 раз. Для WhileDo может быть такое, что цикл не выполниться не разу. Выход из цикла осуществляется при нарушении условия, т.е. в теле цикла должен быть предусмотрен оператор изменения условия, либо аварийный выход.
|
ПоискПопулярные новостиСтатистика сайта |