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

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

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

A401 = (Z1(((Z3Z1) &Z5) & (Z2((Z4(Z2 &Z8)) & (Z7Z5)))))

A401 = (Z1 - (((Z3 - Z1) & Z5) & (Z2 - ((Z4 - (Z2 & Z8)) & (Z7 - Z5)))))

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

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

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

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

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

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

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

A402 = (Z1(((Z3Z1) VZ5) & (Z2((Z4(Z2 &Z8)) & (Z7Z5)))))

A402 = (Z1 - (((Z3 - Z1) V Z5) & (Z2 - ((Z4 - (Z2 & Z8)) & (Z7 - Z5)))))

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

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

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

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

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

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

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

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

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

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

Показатели

Значения

Примечания

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

10

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

8

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

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

18

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

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

4

#&, #V

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

5

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

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

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

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

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

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

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

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

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

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

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

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

A402 = (Z1 - ( ( (Z3 - Z1) V Z5) & (Z2 - ( (Z4 - (Z2 & Z8) ) & (Z7 - Z5) ) ) ) )

1 234 4 3 5 67 8 87 9 96521

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

A402 = (Z1 - ( ( (Z3 - Z1) V Z5) & (Z2 - ( (Z4 - (Z2 & Z8) ) & (Z7 - Z5) ) ) ) )

1 234 4 3 3 45 6 65 5 54321

12 2 1 3 45 5 6 643

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

A402 = (1Z1-(2(3(4Z3 - Z14)VZ53)&(5Z2-(6(7Z4-(8Z2&Z88)7)&(9Z7 - Z59)6)5)2)1) =

= (1Z1-(2(3(4Z3-Z14)VZ53)&( 5Z2-(6(7Z4-(8Z2&Z88)7)&( 9Z7-Z59) 6)5) 2) 1) Вложенность схемных оболочек

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

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

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

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

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

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

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

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

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

A402 = (Z1  (((Z3  Z1) V Z5) & (Z2  ((Z4  (Z2 & Z8)) & (Z7  Z5))))) =

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

= (Z1(((Z3Z1) #VZ5)#& (Z2((Z4(Z2#&Z8))#& (Z7Z5))))) =

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

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

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

A402 = (Z1 - (((Z3 - Z1) #V Z5) #& (Z2 - ((Z4 - (Z2 #& Z8)) #& (Z7 - Z5))))) =

= Z1 - (((Z3 - Z1) #V Z5) #& (Z2 - ((Z4 - (Z2 #& Z8)) #& (Z7 - Z5)))) =

= Z1 - ((Z3 - Z1 #V Z5) #& (Z2 - ((Z4 - (Z2 #& Z8)) #& (Z7 - Z5)))) =

= Z1 - ((Z3 - Z1 #V Z5) #& (Z2 - ((Z4 - (Z2 #& Z8)) #& Z7 - Z5))) =

= Z1 - ((Z3 - Z1 #V Z5) #& Z2 - (Z4 - (Z2 #& Z8) #& Z7 - Z5))

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

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

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

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

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

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

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

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

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

A402 = (Z1 - (((Z3 - Z1) #V Z5) #& (Z2 - ((Z4 - (Z2 #& Z8)) #& (Z7 - Z5))))) =

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

= (Z1 - (#((Z3 -Z1) #VZ5),(Z2 - (#(Z4 - #(Z2,Z8)&),(Z7 -Z5))&))&) =

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

= (Z1 - # (#((Z3 -Z1), Z5)V,(Z2 - #((Z4 - #(Z2,Z8)&),(Z7 -Z5))&))&)

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

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

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

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

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

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

A402 = (Z1  # (#((Z3  Z1), Z5)V,(Z2  #((Z4  #(Z2,Z8)&),(Z7  Z5))&))&)

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

A402 = (Z1 - # (#((Z3 - Z1), Z5)V,(Z2 - #((Z4 - #(Z2,Z8)&),(Z7 - Z5))&))&)

A402 = (Z1#(#((Z3Z1), Z5)V,(Z2#((Z4#(Z2,Z8)&),(Z7Z5))&))&)

A402 = (Z1#(#((Z3Z1), Z5)V,(Z2#((Z4#(Z2,Z8)&),Z7Z5)&))&)

A402 = (Z1#(#(Z3Z1, Z5)V,(Z2#((Z4#(Z2,Z8)&),Z7Z5)&))&)

A402 = Z1#(#(Z3Z1, Z5)V,(Z2#(Z4#(Z2,Z8)&,Z7Z5)&))&

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