Структурное программирование.




Для создания "хорошей" программы появляется необходимость придерживаться определенных принципов или определенной дисциплины программирования. Значительный прогресс в области программирования достигается с использованием так называемого структурного программирования. Появление новой технологии, или, как еще говорят, дисциплины программирования, основанной на структурном подходе, связано с именем известного голландского ученого Э.Дейкстры (1965 г.). В своих работах он высказал предположение, что оператор GOTO может быть исключен из языков программирования и что квалификация программиста обратно пропорциональна числу операторов GOTO в его программах. Такая дисциплина программирования упрощает и структуризирует программу. Однако представление о структурном программировании, как о программировании без использования оператора GOTO, является ошибочным. Например, Хоор определяет структурное программирование как "систематическое использование абстракции для управления массой деталей и способ документирования, который помогает проектировать программу". Структурное программирование можно толковать как "проектирование, написание и тестирование программы в соответствии с заранее определенной дисциплиной". Структурный подход к программированию как раз и имеет целью снижение трудоемкости всего процесса создания программного обеспечения от технического задания на разработку до завершения эксплуатации. Он означает необходимость единой дисциплины на всех стадиях разработки программы. В понятие структурного подхода к программированию обычно включают нисходящие методы разработки программ (принцип “сверху вниз”), собственно структурное программирование и так называемый сквозной структурный контроль.

1) нисходящая разработка

В проекте существует множество программ, подпрограмм, процедур и функций. Оттого, в какой последовательности эти процедуры и функции программируются, и зависит вид разработки.

При разработке «снизу - вверх» выделяются все функции, процедуры с нижнего уровня, пишутся программы, которые вызывают эти функции и процедуры. Затем составляются программы, ссылающиеся на предыдущие функции и процедуры, и так до общей организующей программы (интерфейс, мониторинговая программа и др.).

Главной особенностью такого вида разработки является то, что отладка верхнего уровня осуществляется только тогда, когда написаны все процедуры и программы нижнего уровня. Этот метод не столь эффективен, т.к. при обнаружении ошибки система целиком будет подлежать замене.

При разработке «сверху - вниз» в первую очередь пишется организующая программа и сразу же отлаживается. Затем постепенно пишутся подпрограммы и функции уровня ниже, а при отладке их замещает программа-«заглушка». Такая программа является пустой, она может совпадать с будущей только именем и иметь список формальных и фактических параметров. Примером такой программы может служить программа присваивания.

 

Организующая программа

 
 

 

 


подпрограмма
подпрограмма
подпрограмма
«заглушка»
«заглушка»
«заглушка»
программа
программа

 

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

 

2) Любая алгоритмически разрешимая задача обеспечивается решением алгоритмически полным набором действий (согласно теории математических систем). Выделяют три базовые процедуры:

· Следование. Программы выполняются последовательно.

           
     


 

· Ветвление (условие). Процедура типа if then else

 
 

 

 


 

 


· Итеративность (цикличность)

 

 
 

 

 


Любой модуль всегда имеет «вход» и «выход», внутри модуля может быть любая комбинация из трех базовых процедур. Каждый модуль здесь – та подпрограмма, функция, проектирование которой осуществляет исполнитель, «спускаясь вниз», последовательно заменяя ее реальной программой.

 

Лекция № 12



Поделиться:




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

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-27 Нарушение авторских прав и Нарушение персональных данных


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