- •Млта: Математическая логика и теория алгоритмов
- •Комплект трех вариантов структурной формулы
- •Базисные структуры параллельных алгоритмов
- •1.2 Исходные структурные формулы параллельных алгоритмов
- •Стандартная форма формулы алгоритма
- •Контроль результатов
- •1. 2 Автоматизация построений основной схемы алгоритма Исходные условия
- •Вариант 1 структурной схемы. Автоматизация построений
- •Анализ структурной схемы Общие данные структуры алгоритма
- •Проверочная нумерация оболочек формул и схем
- •Вложенность формульных оболочек
- •Явная операция разделения (вилки) потоков
- •Работа с тренажером схемных построений
- •Мозаичный набор схем
- •Временные диаграммы параллельных алгоритмов
- •Графический расчет длительности алгоритма
- •Расчет длительности алгоритма
- •Вербальные тексты параллельных алгоритмов базисных структур
- •ИнФ: Инфиксная форма вербального текста
- •Ги: Горизонтальное исполнение
- •Алг a601: нач z2; нач нач нач нач нач нач z0; z2 кон и z1 кон; z0 кон и z8 кон и нач z3; z5 кон кон и нач z7; z4 кон кон кон ви: Вертикальное исполнение
- •Автоматизация построений
- •НИнФ: Неявная инфиксная форма вербального текста
- •Исходные условия
- •Ги: Горизонтальное исполнение
- •КоФ: Комбинированная форма вербального текста: ИнПрПоФ
- •Ги: Горизонтальное исполнение
- •Alg a602: begin z2; cobegin cobegin cobegin begin cobegin begin z0; z2 end, z1 coend; z0 end, z8 coend, begin z3; z5 end coend_or, begin z7; z4 end coend end
- •Ви: Вертикальное исполнение
- •Автоматизация построений: Алгол (Паскаль)-подобный текст
- •ПрФ: Префиксная форма
- •Исходные условия
- •Ги: Горизонтальное исполнение
- •Ви: Вертикальное исполнение
- •Автоматизация построений
Автоматизация построений: Алгол (Паскаль)-подобный текст
Используется программа TEXTPRAL.
СФА 4.11: Структурная формула алгоритма / ИнФ: Инфиксная форма
A600 = (Z2 - ((((((Z0 - Z2)& Z1) - Z0) & Z8) & (Z3 - Z5)) & (Z7 - Z4))) =
= (Z2 - ((((((Z0 - Z2)& Z1) - Z0) & Z8) V (Z3 - Z5)) & (Z7 - Z4)))
Выполняются построения для АлгПТ: Алгол-подобного текста алгоритма.
Для ПасПТ: Паскаль-подобного текста – в данном случае все аналогично.
Набор формулы
ГИ: Горизонтальное исполнение
Настройки: ИнФ / АлгПТ / ГИ
ШТА 4.6: Шаблон текста алгоритма
ВИ: Вертикальное исполнение
Настройки: ИнФ / АлгПТ / ВИ
ВТА 4.10: Вербальный текст алгоритма
АлгПТ: Алгол-подобный текст ПасПТ: Паскаль-подобный текст
ПрФ: Префиксная форма
Исходные условия
Строится префиксная форма вербального (словесного) текста параллельного алгоритма (структура потока управления).
Первоначально рассматривается префиксная форма для алгол-подобного (паскаль-подобного) текста в горизонтальном исполнении, определяемая как подготовка оккам-подобного текста, который возможен только в вертикальном исполнении.
Префиксная форма оккам-подобного текста алгоритма определяется по аналогии с высокоуровневым языком параллельного программирования Оккам (Occam).
Ги: Горизонтальное исполнение
АлгПТ: Алгол-подобный текст
ШТА 4.7: Шаблон текста алгоритма
Исходная ИнФ: Инфиксная форма
A600 = (Z2 - ((((((Z0 - Z2)& Z1) - Z0) & Z8) & (Z3 - Z5)) & (Z7 - Z4))) =
= (Z2 - ((((((Z0 - Z2)& Z1) - Z0) & Z8) V (Z3 - Z5)) & (Z7 - Z4))) =
= -(Z2,#&(#V(#&(-(#&(-(Z0,Z2),Z1),Z0),Z8),(Z3,Z5)),(Z7,Z4))) РТА 4.4: Рабочий текст алгоритма
вариант 1
alg A601: seq begin Z2, par_and begin par_and begin par_and begin seq begin par_and begin seq begin Z0, Z2 end, Z1 end, Z0 end, Z8 end, seq begin Z3, Z5 end end, seq begin Z7, Z4 end end end
вариант 2
alg A602: seq begin Z2, par_and begin par_or begin par_and begin seq begin par_and begin seq begin Z0, Z2 end, Z1 end, Z0 end, Z8 end, seq begin Z3, Z5 end end, seq begin Z7, Z4 end end end
Допустимые упрощения: par_and = par
alg A601: seq begin Z2, par begin par begin par begin seq begin par begin seq begin Z0, Z2 end, Z1 end, Z0 end, Z8 end, seq begin Z3, Z5 end end, seq begin Z7, Z4 end end end
Ви: Вертикальное исполнение
ОкПТ: Оккам-подобный текстВТА4.11: Вербальный текст алгоритма
ШТА: Шаблон текста алгоритма | ||||
1 |
2 |
3 |
4 |
5 |
A602 = - ( Z2 , # & ( # $ ( # & ( - ( # & ( - ( Z0 , Z2 ) , Z1 ) , Z0 ) , Z8 ) , - ( Z3 , Z5 ) ) , - ( Z7 , Z4 ) ) ) |
A602= - ( Z2, #& ( #$ ( #& ( - ( #& ( - ( Z0, Z2 ), Z1 ), Z0 ), Z8 ), - ( Z3, Z5 ) ), - ( Z7, Z4 ) ) ) |
A602: - ( | Z2 | #& | ( | | #$ | | ( | | | #& | | | ( | | | | - | | | | ( | | | | | #& | | | | | ( | | | | | | - | | | | | | ( | | | | | | | Z0 | | | | | | | Z2 | | | | | | ) | | | | | | Z1 | | | | | ) | | | | | Z0 | | | | ) | | | | Z8 | | | ) | | | - | | | ( | | | | Z3 | | | | Z5 | | | ) | | ) | | - | | ( | | | Z7 | | | Z4 | | ) | ) ) |
A602: - | Z2 | #& | | #$ | | | #& | | | | - | | | | | #& | | | | | | - | | | | | | | Z0 | | | | | | | Z2 | | | | | | Z1 | | | | | Z0 | | | | Z8 | | | - | | | | Z3 | | | | Z5 | | - | | | Z7 | | | Z4
|
alg A602: seq Z2 par_and par_or par_and seq par_and seq Z0 Z2 Z1 Z0 Z8 seq Z3 Z5 seq Z7 Z4 |
ВТА4.12: Вербальный текст алгоритма // Дополнение к ВТА 4 .11
Подстановка функций команд (операторы присваивания)
РТА: Рабочий текст алгоритма | |
7 |
9 |
alg A602: seq Z2:Y2 := F2(X2) par_and par_or par_and seq par_and seq Z0:Y0 := F0(X0) Z2:Y2 := F2(X2) Z1:Y1 := F1(X1) Z0:Y0 := F0(X0) Z8:Y8 := F8(X8) seq Z3:Y3 := F3(X3) Z5:Y5 := F5(X5) seq Z7:Y7 := F7(X7) Z4:Y4 := F4(X4) |
alg A602: seq Y2 := F2(X2) par_and par_or par_and seq par_and seq Y0 := F0(X0) Y2 := F2(X2) Y1 := F1(X1) Y0 := F0(X0) Y8 := F8(X8) seq Y3 := F3(X3) Y5 := F5(X5) seq Y7 := F7(X7) Y4 := F4(X4) |