Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
теория.pdf
Скачиваний:
465
Добавлен:
11.05.2015
Размер:
1.15 Mб
Скачать

3)метод применим к программам любой структуры (разветвляющимся и циклическим);

4)возможно автоматическое применение данного метода.

Недостатки метода:

1)структурированная форма схемы алгоритма сильно отличается от топологии исходной схемы, что затрудняет ее понимание;

2)дополнительные затраты времени на анализ и установку значений переменной сосотояния;

3)громоздкость результирующей схемы.

3.3.3. Метод булевого признака

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

Впрограмму, содержащую циклы, вводится некоторый признак. Начальное значение признака задаётся до цикла. Цикл выполняется, пока признак сохраняет своё исходное значение. Значение признака изменяется при наличии некоторых условий внутри цикла.

Рассмотрим применение метода булевого признака на примере преобразования неструктурированной схемы, которую представляет рисунок

3.16.

Схема алгоритма (см. рисунок 3.16) не является структурированной, поскольку входящий в нее цикл (блоки 1, 2, 3) содержит один вход и два выхода. На данной схеме в блоках 1 и 2 записаны некоторые условия, определяющие выполнение того или иного участка вычислений. Данные условия обозначены как номера блоков 1 и 2. Значения 1 и 0 возле выходов символов «Решение» соответствуют логическим значениям «да» и «нет».

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

(рисунок 3.17).

Принцип доказательства того, что данная схема является структурированной, подробно рассмотрен в пп. 3.3.1 – 3.3.2.

Рисунок 3.17 схематично иллюстрирует шаги последовательности преобразований Бома-Джакопини:

1)блок 4, функциональный блок J := 1 → блок I;

2)блоки 2, 3, I → блок II;

3)блок 5, функциональный блок J := 1 → блок III;

4)блоки 1, II, III → блок IV;

5)условный блок (решение) J = 1, блок IV → блок V;

6)блоки J := 0, V → блок VI.

64

1

 

1

 

 

 

0

 

2

1

5

 

 

0

 

3

 

4

Рисунок 3.16 – Исходная неструктурированная схема

Каждый из этих шагов преобразований на схеме (см. рисунок 3.17) показан пунктирным функциональным блоком.

Достоинства метода булевого признака:

1)компактность, экономичность;

2)топология исходной схемы изменяется незначительно.

Недостаток метода булевого признака: метод предназначен для использования только в циклах.

Иногда можно обойтись без специального признака, используя те условия, которые уже есть в исходной схеме.

Например, рассмотренную исходную неструктурированную схему можно представить так, как иллюстрирует рисунок 3.18.

На данном рисунке условие «(1 и 2) = 0» означает одновременное равенство нулю условий, записанных в блоках 1 и 2 исходной неструктурированнтй схемы (см. рисунок 3.16). Таким образом, тело цикла 3 будет выполнено в том случае, если оба условия 1 и 2 не выполняются.

65

VI

 

 

 

 

J := 0

 

 

V

 

 

 

 

J=1

да

Выход

 

 

 

нет

 

 

IV

 

1

 

 

1

 

 

 

 

 

0

 

III

 

 

 

II

0

1

5

 

 

 

2

 

 

 

 

I

 

 

3

4

J := 1

 

 

J := 1

 

 

Рисунок 3.17 Структурированная форма исходной схемы,

 

преобразованная по методу булевого признака

66

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]