Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоргалка / ВычТех.doc
Скачиваний:
69
Добавлен:
15.02.2014
Размер:
485.38 Кб
Скачать

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

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

Прежде всего – это затруднение в восприятии программы, а это приводит к тому, что сам про-грам-ст с трудом понимает назначение тех или иных конструкций в начале програм-мы, когда он пишет последние опер-ры. Это говорит о необх-сти научно обоснованной мето-дологии разработки и докумен-тирования сложных программ. Эта методология должна касать-ся анализа исходной задачи, разделяя её на достаточно само-стоятельные части и програм-ния этих частей по возможности не-зависимо друг от друга.

Одной из таких методологий явл. структурное прогр-ние. В осно-ву струк-ного прогр-ния по-ложены следующие положения:

1.Программа должна составл-тся мелкими шагами. Размер шага опред-ется кол-вом реш-ий, при-меняемых прог-стом на этом шаге.

2.Сложная задача должна разби-ваться на дост-но простые, легко воспринимаемы части, каждая из к-рых имеет только один вход и один выход.

3.Логика прогр-мы должна опираться на минимальное число дост-но простых базовых упра-вляющих структур, подобно то-му как любая ф-ция алгебры ло-гики может быть выражена через функц-но полную систему (напр, отрицание, дизъюнкцию, конъюнкцию).

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

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

f THEN g; IF p THEN f ELSE g; WHILE p DO f.

Эти элементарные струк-ры могут соединяться между собой, образуя более сложные струк-ры, по тем же самым элементарным схемам. При этом f и g могут являть собой довольно сложные блок-схемы с одним входом и одним выходом, построенные из таких же элементарных срктур. Хаар-рной особенностью структур-рованной прогр-мы явл не столько отсутствие опера-торов GO TO, сколько наличие струк-ры в её орг-зации.

Предположим, что мы имеем программу, занимающую 80 страниц текста и не содержащцю опер-ров перехода тип GO TO. Каким образом можно ввести струк-рную орг-цию в этот текст? Суть этого процесса со-стоит в том, что на первом шаге составляется одностраничная программа-остов рассм-ваемой 80-страничной программы. Этого можно достигнуть, выделяя наи-более важные в функц-ном смысле фрагменты исходной программы и заменяя их в тексте символическими именами. Каждое новое имя будет соот-ветствовать некоему сегмент, к-рый должен храниться в архиве и вызываться посредством макро-команды. Последовательно осущ-ляя такие замены, мы можем получить прогр-ый сег-мент, содержащий столько строк текста, столько их умещается на одной странице (обычно 30-40 строк).

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

Такой способ программир-ия делает прогр-му стрк-рно организованной в виде дерева, вершины к-рого соответствуют сегменам прогр-мы, огранич-ным в размерах одной страницей и читаемым подобно тексту книги.

Соседние файлы в папке шпоргалка