Структурная программа - Большая Энциклопедия Нефти и Газа, статья, страница 4
Человек, признающий свою ошибку, когда он не прав, - мудрец. Человек, признающий свою ошибку, когда он прав, - женатый. Законы Мерфи (еще...)

Структурная программа

Cтраница 4


Доказано, что программу для решения любой логической задачи можно составить только из структур следование, развилка и повторение. Доказательство программисту знать не обязательно, если нет особого желания. Главная его идея - преобразовать каждую часть программы в одну из трех основных структур или их комбинацию так, чтобы неструктурированная часть программы уменьшилась. После достаточного числа таких преобразований оставшаяся неструктурированной часть либо исчезнет, либо станет ненужной. Доказывается, что в результате получится программа, эквивалентная исходной и использующая лишь упоминавшиеся основные структуры. Такое доказательство может навести на мысль, что для получения структурной программы надо сначала написать неструктурную, а затем преобразовать ее.  [46]

Все функциональные характеристики выборочно связаны с каждой вершиной в зависимости от предполагаемого анализа. Размерность графа программы находится в прямой зависимости от размера программы. При увеличении размера программы существенно возрастает сложность анализа. Разработаны достаточно эффективные процедуры, позволяющие снижать сложность анализа. В основу таких процедур положены методы итеративной абстракции, которая имеет два аспекта: абстракция цикла и абстракция подграфа связи. Цикл является трудным элементом для эффективной проверки программ, так как он резко увеличивает число логических путей, усложняя тем самым структурную программу. Рассмотрение цикла и анализ его независимо от осталыной части графа программы делают общий процесс проверки более простым и однородным. Такая абстракция цикла приводит к значительному уменьшению размерности модели и снижению структурной сложности. Если вследствие большой размерности приведенного графа желательна дальнейшая абстракция, то может быть применена абстракция подграфа связи, когда максимально сильно связанный подграф в графе программы заменяется одной вершиной.  [47]

48 Структурная программа на Фортране. [48]

В какой степени может быть достигнута структурность программы, конечно, зависит от используемого языка программирования. Сейчас в стадии разработки находится значительное количество проектов наилучшего языка для структурного программирования. Из распространенных языков самыми подходящими считаются PL / 1, PL / C, Паскаль и Алгол. Структурное программирование возможно также и при использовании языков Кобол, Фортран и Бэйсик, хотя с большими трудностями и некоторыми нежелательными последствиями. В Коболе при вложении развилок друг в друга возникает структура, отличная от изображенной на рис. 8.4. Только последний оператор в предложении на Коболе может быть развилкой, откуда заключаем, что время от времени будут необходимы операторы GO TO или PERFORM. Однако этот оператор действует как вызов подпрограммы, поэтому текст тела цикла должен быть физически отделен от оператора PERFORM. Из-за этих двух трудностей читать структурную программу сверху вниз становится тяжело.  [49]



Страницы:      1    2    3    4