Расчетно-графическая работа №3 / РГР №3 (готово).doc
Министерство образования Российской Федерации
Уфимский государственный авиационный технический университет
Факультет ИРТ: Информатика и робототехника
Кафедра ПСИ: Проектирование систем информатики
Учебная дисциплина:
Математическая логика и теория алгоритмов
РГР: Расчетно-графическая работа
Общая тема:
ПАРАЛЛЕЛЬНЫЕ ЛОГИКО-АЛГОРИТМИЧЕСКИЕ СИСТЕМЫ
(алгоритмы и логика, аппаратная и программная реализация)
Часть 3
ПАРАЛЛЕЛЬНЫЕ АЛГОРИТМЫ.
ВЕРБАЛЬНЫЕ ТЕКСТЫ
(псевдокоды)
Пояснительная записка
5033.7491.0000-ПЗ
Направление подготовки:
654600: ИВТ: Информатика и вычислительная техника
Специальность:
230104: Системы автоматизированного проектирования
Курс обучения: II
Учебная группа: САПР-230
Работу выполнил
студент Манаев Р. Н.
Зачетная книжка №
Вариант задания: А580
Работу принял _____________ Житников А. П.
2007
ИнФ: Инфиксная форма вербального текста
Исходные условия
Инфиксная форма вербальных (словесных) текстов параллельных алгоритмов рассматривается на примере алгол-подобных и паскаль-подобных вербальных текстов. В данном случае они полностью совпадают.
ГИ: Горизонтальное исполнение
АлгПТ: Алгол-подобный текст / ПасПТ: Паскаль-подобный текст
ШТА 1.1: Шаблон текста алгоритма // ИнФ: Инфиксная форма
А582 = (Z7 ® (Z1 & (Z6 ® (Z0&(Z3 ®Z6)))) V (Z7 ® (Z4 & Z5) ® Z7)) ТЗО 4.1: Таблица замены обозначений
| Компоненты ШТА | Ai | Zi | = | ( | ) | ® | & | V |
| Компоненты РТА: латиница кириллица | alg Ai алг Ai | Zi Zi | : : | ( begin нач | ) end кон | ; ; | and и | or или |
РТА 1.1: Рабочий текст алгоритма // замены обозначений
Вариант 1 подстановок — скобочные оболочки
Латиница — английский язык
alg A582: (Z7 ; (Z1 and (Z6 ; (Z0and(Z3 ;Z6)))) or (Z7 ; (Z4 and Z5) ; Z7))
Кириллица — русский язык
алг A582: (Z7 ; (Z1 и (Z6 ; (Z0 и (Z3 ;Z6)))) или (Z7 ; (Z4 и Z5) ; Z7))
Вариант 2 подстановок — вербальные оболочки
Латиница — английский язык
alg A582: begin Z7 ; begin Z1 and begin Z6 ; begin Z0 and begin Z3 ;Z6 end end end end or begin Z7 ; begin Z4 and Z5 end ; Z7 end end
Кириллица — русский язык
алг A582: нач Z7 ; нач Z1 и нач Z6 ; нач Z0 и нач Z3 ;Z6 кон кон кон кон или нач Z7 ; нач Z4 и Z5 кон ; Z7 кон кон
ВИ: Вертикальное исполнение
Выполняется вариант 2 подстановок — вербальные оболочки.
АлгПТ: Алгол-подобный текст / ПасПТ: Паскаль-подобный текст
// Для столбцов таблиц включить режим мелкошаговой табуляции (5 мм)
// парой горячих клавиш Ctrl + T (для рабочего шаблона TNR'-14)
ВТА 1.1: Вербальный текст алгоритма
| ШТА: Шаблон текста алгоритма | РТА: Рабочий текст | ||
| 1 | 2 | 3 | 4 |
| A582 = ( Z7 ® ( Z1 & ( Z6 ® ( Z0 & ( Z3 ® Z6 ) ) ) ) V ( Z7 ® ( Z4 & Z5 ) ® Z7 ) ) | A582= ( Z7® ( Z1& ( Z6 ® ( Z0& ( Z3 ® Z6 ) ) ) ) V ( Z7 ® ( Z4 & Z5 ) ® Z7 ) ) | A582= ( Z7® ( Z1& ( Z6 ® ( Z0& ( Z3 ® Z6 ) ) ) ) V ( Z7 ® ( Z4 & Z5 ) ® Z7 ) ) | alg A582: begin Z7 ; begin Z1 and begin Z6 ; begin Z0 and begin Z3 ; Z6 end end end end or begin Z7 ; begin Z4 and Z5 end ; Z7 end end |
ВТА 1.2: Вербальный текст алгоритма // Дополнение к ВТА 4.1
Подстановка функций команд (операторы присваивания)
| РТА: Рабочий текст | |
| 5 | 6 |
| alg A582: ya580 = Fa580(xa580): begin Z7: yz7 := Fz7(xz7) ; begin Z1: yz1 := Fz1(xz1) and begin Z6: yz6 := Fz6(xz6) ; begin Z0: yz0 := Fz0(xz0) and begin Z3: yz3 := Fz3(xz3) ; Z6: yz6 := Fz6(xz6) end end end end or begin Z7: yz7 := Fz7(xz7) ; begin Z4: yz4 := Fz4(xz4) and Z5: yz5 := Fz5(xz5) end ; Z7: yz7 := Fz7(xz7) end end | alg A582: ya580 = Fa580(xa580): begin yz7 := Fz7(xz7) ; begin yz1 := Fz1(xz1) and begin yz6 := Fz6(xz6) ; begin yz0 := Fz0(xz0) and begin yz3 := Fz3(xz3) ; yz6 := Fz6(xz6) end end end end or begin yz7 := Fz7(xz7) ; begin yz4 := Fz4(xz4) and yz5 := Fz5(xz5) end ; yz7 := Fz7(xz7) end end |
Автоматизация построений
Используется программа TEXTPRAL.
СФА 1.1: Структурная формула алгоритма — общая для всех форм
А582 = (Z7 ® (Z1 & (Z6 ® (Z0&(Z3 ®Z6)))) V (Z7 ® (Z4 & Z5) ® Z7))
А582 = (Z7 - (Z1 & (Z6 - (Z0&(Z3 - Z6)))) $ (Z7 - (Z4 & Z5) - Z7))
Выполняются построения для АлгТП: Алгол-подобного текста алгоритма.
Для ПасПТ: Паскаль-подобного текста — в данном случае все аналогично.
Набор формулы:
ГИ: Горизонтальное исполнение
Настройки: ИнФ / АлгПТ / ГИ
ВТА 1.3: Вербальный текст алгоритма
Начало
Окончание
ВИ: Вертикальное исполнение
Настройки: ИнФ / АлгПТ / ВИ
ВТА 1.4: Вербальный текст алгоритма
НИнФ: Неявная инфиксная форма вербального текста
Исходные условия
Строится неявная инфиксная форма текста алгоритма относительно знака операции суперпозиции (®).
Неявная форма строится для си-подобного текста.
ГИ: Горизонтальное исполнение
СиПТ: Си-подобный текст
ШТА 2.3: Шаблон текста алгоритма
ИнФ: Инфиксная форма
А582 = (Z7 ® (Z1 & (Z6 ® (Z0&(Z3 ®Z6)))) V (Z7 ® (Z4 & Z5) ® Z7)) =
НИнФ: Неявная инфиксная форма
// Удаление явной связки следования (суперпозиции ®)
= (Z7(Z1&(Z6(Z0&(Z3Z6))))V(Z7(Z4&Z5)Z7))
Повышение читабельности (не обязательно)
Введение пробелов
A582 = (Z7 (Z1 & (Z6 (Z0 & (Z3 Z6)))) V (Z7 (Z4 & Z5) Z7))
ТЗО 4.2: Таблица замены обозначений
| Компоненты ШТА | Ai | Zi | = | ( | ) | & | V |
| Компоненты РТА: | alg Ai | Zi; | : | { | } | & (&') | $ ($') |
РТА 4.2: Рабочий текст алгоритма // замены обозначений
alg A582 : {Z7 ; {Z1 & {Z6 ; {Z0 & {Z3 ; Z6}}}} $ {Z7 ; {Z4 & Z5} ; Z7}}
ВИ: Вертикальное исполнение
СиПТ: Си-подобный текст
// A582 = (Z7 (Z1 & (Z6 (Z0 & (Z3 Z6)))) V (Z7 (Z4 & Z5) Z7))
// A582 = (Z7 (Z1 & (Z6 (Z0 & (Z3 Z6)))) $ (Z7 (Z4 & Z5) Z7))
ВТА 4.5: Вербальный текст алгоритма
| ШТА: Шаблон текста алгоритма | РТА: Рабочий текст | |||
| 1 | 2 | 3 | 4 | 5 |
| A582 = ( Z7 ( Z1 & ( Z6 ( Z0 & ( Z3 Z6 ) ) ) ) V ( Z7 ( Z4 & Z5 ) Z7 ) ) | A582= ( Z7 ( Z1& ( Z6 ( Z0& ( Z3 Z6 ) ) ) ) V ( Z7 ( Z4& Z5 ) Z7 ) ) | A582= ( Z7 ( Z1& ( Z6 ( Z0& ( Z3 Z6 ) ) ) ) V ( Z7 ( Z4& Z5 ) Z7 ) ) | A582= ( Z7 ( Z1& ( Z6 ( Z0& ( Z3 Z6 ) ) ) ) V ( Z7 ( Z4& Z5 ) Z7 ) ) | A582= { Z7 { Z1& { Z6 { Z0& { Z3 Z6 } } } } V { Z7 { Z4& Z5 } Z7 } } |
ВТА 4.6: Вербальный текст алгоритма // Дополнение к ВТА 4.5
Подстановка функций команд (операторы присваивания)
| РТА: Рабочий текст алгоритма | |
| 6 | 7 |
| A582: ya580 = Fa580(xa580): { Z7: yz7 = Fz7(xz7); { Z1: yz1 = Fz1(xz1); & { Z6: yz6 = Fz6(xz6); { Z0: yz0 = Fz0(xz0); & { Z3: yz3 = Fz3(xz3); Z6: yz6 = Fz6(xz6); } } } } V { Z7: yz7 = Fz7(xz7); { Z4: yz4 = Fz4(xz4); & Z3: yz3 = Fz3(xz3); } Z7: yz7 = Fz7(xz7); } } | A582: ya580 = Fa580(xa580): { yz7 = Fz7(xz7); { yz1 = Fz1(xz1); & { Z6: yz6 = Fz6(xz6); { yz0 = Fz0(xz0); & { yz3 = Fz3(xz3); yz6 = Fz6(xz6); } } } } V { yz7 = Fz7(xz7); { yz4 = Fz4(xz4); & yz3 = Fz3(xz3); } yz7 = Fz7(xz7); } } |
Автоматизация построений: си-подобный текст
СФА 4.2: Структурная формула алгоритма — общая для всех форм (ИнФ).
Набор формулы и добавление в список — аналогично предыдущему.
ГИ: Горизонтальное исполнение
Настройки: ИнФ / СиПТ / ГИ
ШТА 4.4: Шаблон текста алгоритма // Преобразованная формула
ВТА 4.7: Вербальный текст алгоритма
ВИ: Вертикальное исполнение
Настройки: ИнФ / АлгПТ / ГИ
ВТА 4.8: Вербальный текст алгоритма
КоФ: Комбинированная форма вербального текста: ИнПрПоФ
ГИ: Горизонтальное исполнение
АлгПТ: Алгол-подобный текст / ПасПТ: Паскаль-подобный текст
ШТА 4.5: Шаблон текста алгоритма
ИнФ: Инфиксная форма
А582 = (Z7 ® (Z1 & (Z6 ® (Z0&(Z3 ®Z6)))) V (Z7 ® (Z4 & Z5) ® Z7)) =
// Явное введение знака неявной операции разделения (вилки) потоков
= (Z7 ® (Z1 #& (Z6 ® (Z0 #&(Z3 ®Z6)))) #V (Z7 ® (Z4 #& Z5) ® Z7)) ИнПрПоФ: Инфикcно-префиксно-постфиксная форма
// инфиксная по операции ®, префиксная — по #, постфиксная — по &,V($)
= #(Z7 ® (Z1 #& (Z6 ® (Z0 #&(Z3 ®Z6)))), (Z7 ® (Z4 #& Z5) ® Z7))V =
= #(Z7 ® #(Z1 , (Z6 ® #(Z0 , (Z3 ®Z6))&))&), (Z7 ® #(Z4 , Z5)& ® Z7))V
ТЗО 4.3: Таблица замены обозначений
| Общие замены обозначений | ||||||||||||
| Компоненты ШТА | Ai | Zi | = | ( | ) | ® | # | & | V | |||
| Компоненты РТА: | alg Ai | Zi | : | begin | end | ; | par | and | or | |||
| Специальные замены обозначений (для специальных пар знаков) | ||||||||||||
