- •Часть 1
- •Контроль результатов
- •Структурные схемы параллельных алгоритмов
- •Основная схема (без схемных оболочек). Ручные построения
- •Вариант 1 структурной схемы (a141). Ручные построения
- •Автоматизация построений основной схемы алгоритма
- •Вариант 1 структурной схемы. Автоматизация построений
- •Вариант 2 структурной схемы. Автоматизация построений
- •Анализ структурной схемы
- •Группирование элементов схемы – оболочковые схемы
- •Вложенность схемных оболочек
- •Разделение парных операций
- •Бесскобочная запись структурных формул
- •Работа с тренажером схемных построений
- •Мозаичный набор схем
Вложенность схемных оболочек
ССА 2.3: Структурная схема алгоритма
ШСА 2.9: Штрих-схема алгоритма – нумерация оболочек
# Z2 Z0 Z2
# & V Z4
A572: # & V #
Z8 Z8 Z2 xa571 ya571
6
6
4 4 3 3 51 51
Z3 Z6 Z7
52
52
22
1 1
ШСА 2.10: Штрих-схема алгоритма – нумерация оболочек
1 1 21 21 3 3 4 4 22 22 52 52 51 51 6 6
Повышение взаимного соответствия стурктурных формул и схем
Явная операция разделения (вилки) потоков
В сопоставлении СФА со ССА выявляется неявная операция разделения (вилки) потоков – распараллеливания алгоритмических цепей:
СФА 3.1: Структурная формула алгоритма / У: Поток управления
ИнФ: Инфиксная форма записи формулы
ПИнФ: Полная инфиксная форма
Неявная операция разделения (подразумевается)
A572 = (Z2 (((Z0 & Z8) Z2) & Z3) ((Z4 V (Z8 Z2)) V (Z6 Z7))) =
Явная простановка операции разделения (вилки)
= (Z2(((Z0#&Z8)Z2)#&Z3)((Z4#V(Z8Z2))#V(Z6Z7))) =
= (Z2(((Z0 #&Z8)Z2) #&Z3)((Z4 #V(Z8Z2)) #V(Z6Z7)))
Основная стандартная форма записи СФА:
Строчная индексация:
A572 = (Z2 (((Z0 #& Z8) Z2) #& Z3) ((Z4 #V (Z8 Z2)) #V (Z6 Z7)))
Подстрочная индексация (нижние индексы) и упрощения записи:
A572 = (Z2 – (((Z0 #& Z8) – Z2) #& Z3) – ((Z4 #V (Z8 – Z2)) #V (Z6 – Z7))) =
= (Z2(((Z0 #& Z8)Z2) #& Z3)((Z4 #V (Z8Z2)) #V (Z6Z7))) =
= Z2(((Z0 #& Z8)Z2) #& Z3)((Z4 #V (Z8Z2)) #V (Z6Z7)) =
= Z2(((Z0 #& Z8)Z2) #& Z3)(Z4 #V (Z8Z2) #V (Z6Z7)) =
= Z2((Z0 #& Z8)Z2 #& Z3)(Z4 #V (Z8Z2) #V (Z6Z7)) =
= Z2((Z0 #& Z8)Z2 #& Z3)(Z4 #V Z8Z2 #V Z6Z7)
Разделение парных операций
СФА 3.2: Структурная формула алгоритма / У: Поток управления
КоФ: Комбинированная форма записи формулы
ИнПрПоФ: Инфиксно-префиксно-постфиксная форма
Исходная формула:
A572 = (Z2 – (((Z0 #& Z8) – Z2) #& Z3) – ((Z4 #V (Z8 – Z2)) #V (Z6 – Z7))) =
= (Z2 (((Z0 #& Z8) Z2) #& Z3) ((Z4 #V (Z8 Z2)) #V (Z6 Z7))) =
= (Z2 (((Z0 #& Z8) Z2) #& Z3) #((Z4 #V (Z8 Z2)), (Z6 Z7))V) =
= (Z2 #(((Z0 #& Z8) Z2), Z3)& #((Z4 #V (Z8 Z2)), (Z6 Z7))V) =
= (Z2 #((#(Z0, Z8)& Z2), Z3)& #((Z4 #V (Z8 Z2)), (Z6 Z7))V) =
= (Z2 #((#(Z0, Z8)& Z2), Z3)& #(#(Z4, (Z8 Z2))V, (Z6 Z7))V)
Конечные результаты:
Строчная индексация:
A572 = (Z2 #((#(Z0, Z8)& Z2), Z3)& #(#(Z4, (Z8 Z2))V, (Z6 Z7))V)
Подстрочная индексация (нижние индексы) и упрощения записи:
A572 = (Z2 – #((#(Z0, Z8)& – Z2), Z3)& – #(#(Z4, (Z8 – Z2))V, (Z6 – Z7))V) =
= (Z2 #((#(Z0, Z8)&Z2), Z3)&#(#(Z4, (Z8Z2))V, (Z6Z7))V) =
= Z2 #((#(Z0, Z8)&Z2), Z3)&#(#(Z4, (Z8Z2))V, (Z6Z7))V =
= Z2 #(#(Z0, Z8)&Z2, Z3)&#(#(Z4, (Z8Z2))V, (Z6Z7))V =
= Z2 #(#(Z0, Z8)&Z2, Z3)&#(#(Z4, (Z8Z2))V, Z6Z7)V =
= Z2 #(#(Z0, Z8)&Z2, Z3)&#(#(Z4, Z8Z2)V, Z6Z7)V
Бесскобочная запись структурных формул
СФА 3.3: Структурная формула алгоритма / СФ: Скобочная форма
A572 = Z2 #(#(Z0, Z8)&Z2, Z3)&#(#(Z4, Z8Z2)V, Z6Z7)V =
СФА 3.4: Структурная формула алгоритма / БФ: Бесскобочная форма
= Z2 ##Z0, Z8&Z2, Z3&##Z4, Z8Z2V, Z6Z7V
При необходимости парные операции выделяются:
A572 = Z2 ##Z0, Z8&Z2, Z3&##Z4, Z8Z2V, Z6Z7V =
= Z2 ##Z0, Z8&Z2, Z3&##Z4, Z8Z2V, Z6Z7V =
= Z2 ##Z0, Z8&Z2, Z3&##Z4, Z8Z2V, Z6Z7V =
= Z2 ##Z0, Z8&Z2, Z3&##Z4, Z8Z2V, Z6Z7V