Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
10
Добавлен:
02.05.2014
Размер:
763.39 Кб
Скачать
          1. Вариант 1 структурной схемы. Автоматизация построений

СФА: Структурная формула алгоритма / У: Поток управления

// Замена обозначений: "" на "–"

A091 = (Z1  ((Z3  Z1) & ( ( Z5 & (Z2  ( Z4 & Z0 )))  ( Z6 & (Z5  Z2)))))

A091 = (Z1 - ((Z3 - Z1) & ( ( Z5 & (Z2 - ( Z4 & Z0 ))) - ( Z6 & (Z5 - Z2)))))

Набор формулы:

Настройки программы: ИнФ / ГИ / БСА / БФ

БСА: Блок-схема алгоритма / ГИ: Горизонтальное исполнение

Настройки: ИнФ / ГИ / ШСА / БФ

ШСА: Штрих-схема алгоритма / ГИ: Горизонтальное исполнение

Вариант 2 структурной схемы. Автоматизация построений

СФА: Структурная формула алгоритма / У: Поток управления

A092 = (Z1  ((Z3  Z1) V ( ( Z5 & (Z2  ( Z4 & Z0 )))  ( Z6 & (Z5  Z2)))))

A092 = (Z1 - ((Z3 - Z1) V ( ( Z5 & (Z2 - ( Z4 & Z0 ))) - ( Z6 & (Z5 - Z2)))))

Набор формулы

Настройки: ИнФ / ГИ / БСА / БФ

БСА: Блок-схема алгоритма / ГИ: Горизонтальное исполнение

Настройки: ИнФ / ГИ / ШСА / БФ

ШСА: Штрих-схема алгоритма / ГИ: Горизонтальное исполнение

    1. Анализ структурной схемы Общие данные структуры алгоритма

а) Структурный класс алгоритма:

двухполюсный постоянный ациклический алгоритм;

постоянная структура – это алгоритмическая структура с отсутствие переключательных элементов типа "если ... то", циклов с предусловием и т.п.

б) Общие структурные показатели

Показатели

Значения

Примечания

Общее число команд

10

Число разных команд

8

Нет повторных вхождений команд

Общее число элементов

18

Включая узлы вилки и сборки

Число пар операций распараллеливания

4

#&, #V

Степень параллелизма

4

Три параллельные ветви алгоритма

Наличие дизъюнктивных сборок

вариант 1 – нет

вариант 2 – есть

Нет особенностей

Есть 1 особый узел

    1. Проверочная нумерация оболочек формул и схем

          1. Вложенность формульных оболочек

Для контроля правильности построений используются различные способы нумерации формульных оболочек – пар скобок " (i… )i" = " (i … )i"

СФА 0.2: Структурная формула алгоритма – нумерация оболочек:

а) Внешняя (пристроенная) нумерация оболочек формулы

  1. Первая строка нумерации – уровень вложенности блоков

A092 = (Z1 - ((Z3 - Z1) V ( ( Z5 & (Z2 - ( Z4 & Z0 ))) - ( Z6 & (Z5 - Z2)) ) ) )

1 23 3 45 6 7 765 8 9 98421

  1. Вторая строка нумерации – разные блоки одного уровня

A092 = (Z1 - ((Z3 - Z1) V ( ( Z5 & (Z2 - ( Z4 & Z0) ) ) - (Z6 & (Z5 - Z2)) ) ) )

1 23 3 34 5 6 654 4 5 54321

1 1 23 5 53 4 6 642

б) Внутренняя (встроенная) нумерация оболочек формулы

A092 = (1Z1-(2(3Z3-Z13)V(4(5Z5&(6Z2-(7Z4&Z07)6)5)-(8Z6&(9Z5-Z29)8)4)2)1)

= (1Z1 - (2(3Z3 - Z13) V (4 (5 Z5 & (6Z2 - (7 Z4 & Z07)6)5) - (8Z6 & (9Z5 - Z29)8) 4) 2) 1)

Вложенность схемных оболочек

Соответственно нумерации формульных оболочек выполняется нумерация

схемных оболочек. Целесообразна двухсторонняя нумерация схемных блоков.

ССА 0.1: Структурная схема алгоритма

          1. Явная операция разделения (вилки) потоков

В сопоставлении СФА со ССА выявляется неявная операция разделения (вилки) потоков – распараллеливания алгоритмических цепей:

СФА 0.3: Структурная формула алгоритма / У: Поток управления

ИнФ: Инфиксная форма записи формулы

ПИнФ: Полная инфиксная форма // пошаговое построение

Неявная операция разделения (подразумевается)

A092 = (Z1  ((Z3  Z1) V (( Z5 & (Z2  (Z4 & Z0 )))  (Z6 & (Z5  Z2)))))=

Явная простановка операции разделения (вилки)

= (Z1((Z3Z1)#V((Z5#& (Z2(Z4#&Z0)))(Z6#& (Z5 Z2)))))= = (Z1((Z3Z1) #V((Z5 #& (Z2(Z4 #&Z0)))(Z6 #& (Z5Z2))))) Основная стандартная форма записи СФА:

Строчная индексация:

A092 = (Z1((Z3Z1)#V((Z5#& (Z2(Z4#&Z0)))(Z6#& (Z5 Z2))))) Подстрочная индексация (нижние индексы) и упрощения записи:

A092 = (Z1 - ((Z3 - Z1) #V ((Z5 #& (Z2 - (Z4 #& Z0))) - (Z6 #& (Z5 - Z2))))) =

= Z1 - ((Z3 - Z1) #V ((Z5 #& (Z2 - ( Z4 #& Z0 ))) - (Z6 #& (Z5 - Z2)))) =

= Z1 - (Z3 - Z1 #V ((Z5 #& (Z2 - ( Z4 #& Z0 ))) - (Z6 #& (Z5 - Z2)))) =

= Z1 - (Z3 - Z1 #V ((Z5 #& (Z2 - ( Z4 #& Z0 ))) - (Z6 #& Z5 - Z2))) =

= Z1 - (Z3 - Z1 #V ((Z5 #& Z2 - ( Z4 #& Z0 )) - (Z6 #& Z5 - Z2)))

Разделение парных операций

// Выполняется только Вариант 2

Выше все три операции представлены в инфиксной форме.

Вводится комбинированные способы записи разных операций.

СФА 0.4: Структурная формула алгоритма / У: Поток управления

КоФ: Комбинированная форма записи формулы

ИнПрПоФ: Инфиксно-префиксно-постфиксная форма

// Пошаговое построение

Исходная формула:

A092 = (Z1 - ((Z3 - Z1) #V ((Z5 #& (Z2 - (Z4 #& Z0))) - (Z6 #& (Z5 - Z2))))) =

Разносится более глубоко вложенная пара операций #&:

= (Z1((Z3 -Z1) #V(#(Z5,(Z2#(Z4,Z0)&)&)#(Z6,(Z5Z2))&))) =

Разносится менее глубоко вложенная пара операций #V:

= (Z1#((Z3Z1),(#(Z5,(Z2#(Z4,Z0)&)&)#(Z6,(Z5Z2))&)V))

// Суперпозиция () сохраняется в инфиксе.

// Разделение (# – вилка) потоков выносится в префикс (влево).

// Соединение (сборка) по конъюнкции (&) и дизъюнкции (V)

// выносятся в постфикс (вправо).

Конечные результаты:

Строчная индексация:

A092 = (Z1  #((Z3  Z1),(#(Z5,(Z2  #(Z4,Z0)&)&)  #(Z6,(Z5  Z2))&)V))

Подстрочная индексация (нижние индексы) и упрощения записи:

A092 = (Z1 - #((Z3 - Z1),(#(Z5,(Z2 - #(Z4,Z0)&)&) - #(Z6,(Z5 - Z2))&)V))

A092 = Z1#((Z3Z1),(#(Z5,(Z2#(Z4,Z0)&)&)#(Z6,(Z5Z2))&)V)

A092 = Z1#(Z3Z1,(#(Z5,(Z2#(Z4,Z0)&)&)#(Z6,(Z5Z2))&)V)

A092 = Z1#(Z3Z1,(#(Z5,(Z2#(Z4,Z0)&)&)#(Z6,Z5Z2)&)V)

A092 = Z1#(Z3Z1,(#(Z5,Z2#(Z4,Z0)&)&#(Z6,Z5Z2)&)V)

Соседние файлы в папке Расчетно-графическая работа (3 части)2