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

1 ... 48 49 50 [ 51 ] 52 53 54 ... 342


Правило 2

> ( )

Правило 2

Правило 2

Рис. 2.35. Повторное применение правила 2 к простейшей блок-схеме

Правило 3

Правило 3

I Правило 3


Рис. 2.36. Повторное применение правила 3 к простейшей блок-схеме



Правило 4 позволяет генерировать большие, сложные структуры с произвольным уровнем вложенности. Блок-схемы, возникаюш;ие в результате применения правил рис. 2.33, составляют множество всех возможных структурированных блок-схем и, следовательно, множество всех возможных структурированных программ.

Прелесть структурного подхода в том, что мы используем всего семь простых фрагментов с одним входом и одним выходом и соединяем их всего двумя простыми способами. Рис. 2.37 показывает пакеты стандартных блоков, которые создаются при применении правила 2, и вложение стандартных блоков, которые создаются при применении правила 3. Этот рисунок показывает также частично перекрываюш;иеся стандартные блоки, которые не могут появиться в структурированных блок-схемах, поскольку игнорируется оператор goto.

Если следовать правилам рис. 2.33, неструктурированные блок-схемы (подобные приведенным на рис. 2.38) не могут быть созданы. Если вы сомневаетесь, является ли некоторая конкретная блок-схема структурированной, примените правила рис. 2.33 в обратной последовательности и попытайтесь свернуть блок-схему к простейшей. Если блок-схема свернется к простейшей, значит исходная блок-схема структурирована, в противном случае - нет.

Структурное программирование стимулирует простоту. Бом и Джакопини доказали, что достаточно всего трех форм управления:

Следование

Выбор

Повторение

Пакетированные стандартные блоки

Вложенные стандартные блоки

Частично перекрывающиеся стандартные блоки (недопустимые в структурированных профаммах)

Рис. 2.37. Пакетированные, вложенные и частично перекрывающиеся стандартные блоки




Рис. 2.38. Неструктурированная блок-схема

Следование тривиально. Выбор осуществляется одним из трех способов

структурой if (единственный выбор)

структурой if/else (двойной выбор)

структурой switch (множественный выбор)

В действительности можно доказать, что для реализации любой формы выбора достаточно одной простой структуры if - все, что можно сделать структурами if/else и switch, можно представить комбинацией структур if (правда, может быть не так удобно).

Повторение обеспечивается одним из трех способов:

структурой while

структурой do/while

структурой for

В действительности можно доказать, что для реализации любой формы повторения достаточно одной структуры while. Все, что можно сделать структурами do/while и for, можно представить структурой while (правда, может быть не так удобно).

В результате можно утверждать, что любую форму управления, которая может потребоваться в программе на С-Ы-, можно выразить в терминах

следование

структура if (выбор)

структура while (повторение)

И эти управляющие структуры могут комбинироваться только двумя путями: пакетированием или вложением. Действительно, структурное программирование способствует простоте!

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



1 ... 48 49 50 [ 51 ] 52 53 54 ... 342

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика