- •Часть 2
- •Контроль результатов
- •Структурные схемы параллельных алгоритмов
- •Основная схема (без схемных оболочек). Ручные построения
- •Вариант 1 структурной схемы (a501). Ручные построения
- •Автоматизация построений основной схемы алгоритма
- •Разделение парных операций
- •Проверочная нумерация оболочек формул и схем
- •Вложенность формульных оболочек
- •Вложенность схемных оболочек
- •Бесскобочная запись структурных формул
- •Работа с тренажером схемных построений
- •Мозаичный набор схем
- •Временные диаграммы параллельных алгоритмов базисных структур
- •Построения временных диаграмм. Вариант 2
- •Вариант 2 диаграммы (a502). Автоматизация построений
- •Графический расчет длительности алгоритма
- •Расчет длительности алгоритма
- •Общая проверка результатов
Проверочная нумерация оболочек формул и схем
Вложенность формульных оболочек
СФА 2.10: Структурная формула алгоритма – нумерация оболочек:
а) Внешняя (пристроенная) нумерация оболочек формулы
1) Первая строка нумерации – уровень вложенности блоков
A502 = (Z1 - (((Z3 - Z1) & Z5) & (Z2 - ((Z4 - (Z2 & Z8)) & (Z7 - Z5)))))
1 234 4 3 5 67 8 87 9 96521
1 1 2 2
б) Внутренняя (встроенная) нумерация оболочек формулы
A502 = (1 Z1 - (2(3(4 Z3 - Z1)4 & Z5)3 & (5 Z2 - (6(7 Z4 - (8 Z2 & Z8)8)7 & (9 Z7 - Z5)9)6)5)2)1 =
= (1 Z1 - (2(3(4 Z3 - Z1)4 & Z5)3 & (5 Z2 - (6(7 Z4 - (8 Z2 & Z8)8)7 & (9 Z7 - Z5)9)6)5)2)1
Вложенность схемных оболочек
ССА 2.3: Структурная схема алгоритма
ШСА 2.9: Штрих-схема алгоритма – нумерация оболочек
1
1
2
2
9
9
4
4
5
5
6
6
7
3
3
7
8
8
Повышение взаимного соответствия стурктурных формул и схем
Явная операция разделения (вилки) потоков
// Выполняется только Вариант 2 (с разными типами операций)
СФА 3.11: Структурная формула алгоритма / У: Поток управления
ИнФ: Инфиксная форма записи формулы
ПИнФ: Полная инфиксная форма // пошаговое построение
Неявная операция разделения (подразумевается)
A502 = (Z1(((Z3Z1) &Z5) & (Z2((Z4(Z2 &Z8)) & (Z7Z5)))))
Явная простановка операции разделения (вилки)
= (Z1 (((Z3 Z1) #& Z5) #& (Z2 ((Z4 (Z2 #& Z8)) #& (Z7 Z5))))) =
= (Z1 (((Z3 Z1) #& Z5) #& (Z2 ((Z4 (Z2 #& Z8)) #& (Z7 Z5)))))
Основная стандартная форма записи СФА:
Строчная индексация:
A502 = (Z1(((Z3Z1) #&Z5) #& (Z2((Z4(Z2 #&Z8)) #& (Z7Z5)))))
Подстрочная индексация (нижние индексы) и упрощения записи:
A502 = (Z1 (((Z3 Z1) #& Z5) #& (Z2 ((Z4 (Z2 #& Z8)) #& (Z7 Z5)))))=
= (Z1(((Z3Z1) #& Z5) #& (Z2((Z4(Z2 #& Z8)) #& (Z7Z5)))))=
= Z1(((Z3Z1) #& Z5) #& (Z2((Z4(Z2 #& Z8)) #& (Z7Z5)))) =
= Z1((Z3Z1 #& Z5) #& (Z2((Z4(Z2 #& Z8)) #& (Z7Z5)))) =
= Z1((Z3Z1 #& Z5) #& (Z2((Z4(Z2 #& Z8)) #& Z7Z5))) =
= Z1((Z3Z1 #& Z5) #& Z2((Z4(Z2 #& Z8) #& Z7Z5))) =
= Z1((Z3Z1 #& Z5) #& Z2(Z4(Z2 #& Z8) #& Z7Z5))
Разделение парных операций
// Выполняется только Вариант 1
СФА 3.12: Структурная формула алгоритма / У: Поток управления
КоФ: Комбинированная форма записи формулы
ИнПрПоФ: Инфиксно-префиксно-постфиксная форма
// Пошаговое построение
Исходная формула:
A502 = (Z1- (((Z3-Z1) #VZ5) #& (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) &)&)))=
= (Z1 #((#(Z3 Z1) ,Z5)V ,#(Z2 ((Z4 #(Z2 , Z8)&) ,#(Z7 Z5) &)&)))
Конечные результаты:
Строчная индексация:
A502 =(Z1#((#(Z3Z1) ,Z5)V,#(Z2((Z4#(Z2 ,Z8)&) ,#(Z7Z5) &)&)))
Подстрочная индексация (нижние индексы) и упрощения записи:
A502 = (Z1 #((#(Z3 Z1) ,Z5)V ,#(Z2 ((Z4 #(Z2 , Z8)&) ,#(Z7 Z5) &)&))) =
= (Z1 #((#(Z3 Z1) ,Z5)V ,#(Z2 ((Z4 #(Z2 , Z8)&) ,#(Z7Z5) &)&))) =
= Z1 #((#(Z3 Z1) ,Z5)V ,#(Z2 ((Z4 #(Z2 , Z8)&) ,#(Z7Z5) &)&)) =
= Z1 #(#(Z3 Z1) ,Z5)V ,#(Z2 ((Z4 #(Z2 , Z8)&) ,#(Z7Z5) &)&)
