- •5033.4350.0000-Пз
- •Введение
- •Теория алгоритмов
- •Исходные положения
- •Общее содержание второй части задания
- •Виды текстов алгоритмов
- •Ациклические двухполюсные структуры алгоритмов
- •Исходные условия
- •Комплект текстов алгоритмов
- •Этап э1: Подготовка стандартной полной формы формулы
- •Стандартная форма формулы алгоритма
- •Этап э2: Построение структурной схемы
- •Структурная схема алгоритма
- •Э21: Построение основной схемы – без оболочек
- •Э22: Группирование элементов
- •Э23: Проверочная нумерация оболочек
- •Э25 Повышение явного соответствия формул и схем
- •Э251 Явная операция разделения потоков
- •Э252 Разделение парных операций
- •Э253 Двухмерные структурные формулы
- •Э254 Псевдографика структурной схемы
- •Э255 Набор схемы графического тренажера
- •Этап э3: Работа с временной диаграммой алгоритма
- •Э31 Задание длительности исполнения команд
- •Э32 Построение временной диаграммы сетевого типа
- •Э33 Графический расчет длительности алгоритма
- •Э34 Аналитический расчет длительности алгоритма
- •Э4: Подготовка вербальных текстов алгоритма
- •Вта: Вербальные тексты алгоритмов
- •Дополнительные функциональные обозначения
- •ИнФ: Инфиксная форма
- •ИнФ': Неявная инфиксная форма
- •ПрФ: Префиксная форма
- •Ациклические многополюсные структуры алгоритмов
- •Исходные условия
- •Комплект текстов алгоритмов
- •Этап э1: Подготовка стандартной полной формы формулы
- •Стандартная форма формулы алгоритма
- •Этап э2: Построение структурной схемы
- •Структурная схема алгоритма
- •Построение основной схемы (без оболочек)
- •Этап э3: Работа с временной диаграммой алгоритма
- •Э31 Задание длительности исполнения команд
- •Э32 Построение временной диаграммы сетевого типа
- •Э33 Графический расчет длительности алгоритма
- •Э34 Аналитический расчет длительности алгоритма
- •Э4: Подготовка вербальных текстов алгоритма
- •Вта: Вербальные тексты алгоритмов
- •Дополнительные функциональные обозначения
- •Переключательные ациклические структуры алгоритмов
- •Концептуальная модель команды
- •Функции модели
- •Блок функций аппаратной модели команды
- •Индексация обозначений
- •Работа модели
- •Уточнение функции индикации
- •Работа с программной моделью команды в средеMathLab
- •Вывод схемы модели на экран
- •Построение временной диаграммы
- •Настройки дополнительных параметров диаграммы
- •Концептуальная модель алгоритма
- •Ациклические двухполюсные структуры алгоритмов
- •Модельная схема алгоритма
- •Функциональная система алгоритма
- •Программная модель алгоритма в средеMathLab
- •Подготовка файла модели
- •Формирование схемы моделиEnvMpma
- •Построение временной диаграммы
- •Заключение
Э252 Разделение парных операций
Все три операции представлены в инфиксной форме.
Водится комбинированные способы записи разных операций.
СФА: Структурная формула алгоритма / У: Поток управления
КоФ: Комбинированная форма записи формулы:
ИнПрПоФ: Инфиксно-префиксно-постфиксная форма
// Пошаговое построение
A910 = (((Z1Z2(Z6 #V(Z1Z8))) #& (Z3Z4))Z1)
= (((Z1Z2#(Z6, (Z1Z8))V) #& (Z3Z4))Z1)
= (#((Z1Z2#(Z6, (Z1Z8))V), (Z3Z4))&Z1)
// суперпозиция () сохраняется в инфиксе
// разделение (вилка) потоков (#) выносится в префикс (влево)
// соединение (сборка) по конъюнкции (&) и дизъюнкции (V)
// выносятся в постфикс (вправо)
Конечные результаты
// строчная индексация
A910 = (#((Z1 Z2 #(Z6, (Z1 Z8))V), (Z3 Z4))& Z1)
подстрочная индексация (нижние индексы)
A910 = (#((Z1 Z2 #(Z6, (Z1 Z8))V), (Z3 Z4))& Z1) =
= (#((Z1Z2#(Z6, (Z1Z8))V), (Z3Z4))&Z1) =
= #((Z1Z2#(Z6, (Z1Z8))V), (Z3Z4))&Z1 =
= #(Z1Z2#(Z6, (Z1Z8))V, (Z3Z4))&Z1 =
= #(Z1Z2#(Z6, (Z1Z8))V, Z3Z4)&Z1 =
= #(Z1Z2#(Z6, Z1Z8)V, Z3Z4)&Z1
Дополнительно существенно повышается степень явного соответствия текстов формул и схем.
Примечание. Возможно удаление внутренних скобок (скобочных формульных оболочек) при символах #, &,V (которые сами могут выполнять функции формульных оболочек):
A910 = #(Z1Z2#(Z6, Z1Z8)V, Z3Z4)&Z1 =
= #Z1Z2#Z6, Z1Z8V, Z3Z4&Z1 =
// Такой способ записи с учетом приоритетности суперпозиции в составе КоФ
// данного типа обеспечивает возможность полного исключения всех скобок
// При этом резко снижается читабельность формул,
// особенно для формул с большой вложенностью компонент и большим числом
// однородных компонент одного уровня (с перечислением их через запятую)
// Однако такая возможность является полезной
// для отражения разных концептуальных аспектов
Анализ:
синтаксис
семантика
прагматика – субъекты (автомат, персонал), присубъекты
Выводы
Э253 Двухмерные структурные формулы
Структурные схемы – это (в общем случае) двухмерные графические тексты, в то время как соответствующие им обычные (линейные) структурные формулы – это одномерные литерные тексты. В линейных структурных формулах используются способы кодирования двухмерной структуры графических схем.
Однако возможно применение двухмерной литерной грамматики для обеспечения прямого визуального соответствия структурных формул и схем.
Примечание. 1) При этом в структурных схемах всегда могут быть полностью удалены все оболочки (оболочки отражают различные группировки элементов схемы) без изменения общей структуры алгоритма.
2) В линейных структурных формулах не всегда невозможно удаление всех скобочных оболочек без искажения исходной структуры.
Приведение формул к двухмерной форме:
СФА: Структурная формула алгоритма / У: Поток управления
// переключить редактор Word на шрифт Courier New:
// обеспечивается постоянный шаг литерного текста
A910=(#((Z1–Z2–#(Z6,(Z1–Z8))V),(Z3–Z4))&–Z1)=
// Условная замена знаков
// Перевод строки внутри оболочки
// Выравнивание влево (внутри оболочек)
A910 = (#((Z3–Z4)–––––––––––––)&–Z1)
(Z1–Z2–#(Z6,(Z1–Z8))V)
// условная замена знаков
// перевод строки внутри оболочки
A910 = (#((Z3–Z4)––––––––––)&–Z1)
(Z1–Z2–#(Z6–––––)V)
((Z1–Z8))
Упрощения записи
// удаление внешних скобок
A910 = #((Z3–Z4)––––––––––)&–Z1=
(Z1–Z2–#(Z6–––––)V)
((Z1–Z8))
= #(Z3–Z4––––––––––––)&–Z1=
(Z1–Z2–#(Z6–––––)V)
((Z1–Z8))
= #(Z3–Z4––––––––––––)&–Z1=
(Z1–Z2–#(Z6–––––)V)
(Z1–––Z8)
= #(Z3–Z4––––––––––––)&–Z1=
(Z1–Z2–#(Z6–––––)V)
(Z1–––Z8)
// удаление лишних знаков суперпозиции
// сохранение выравнивания полей внутри оболочек
= #(Z3Z4––––––––)&Z1=
(Z1Z2#(Z6––)V)
(Z1Z8)
Замена обозначений оболочек
// строчные индексы
= #|Z3Z4––––––––|&Z1=
|Z1Z2#|Z6––|V|
|Z1Z8|
// подстрочные индексы
= #|Z3Z4––––––––|&Z1=
|Z1Z2#|Z6––|V|
|Z1Z8|
// Появляется рассогласование расположения символов
// Вводится дополнительное точное выравнивание:
// один знак суперпозиции (–) переводится в нижний индекс (–)
= #|Z3Z4––––––––|&Z1=
|Z1Z2#|Z6––|V|
|Z1Z8|
// Появляется новое рассогласование расположения символов
// Вводится дополнительное точное выравнивание
= #|Z3Z4––––––––|&Z1=
|Z1Z2#|Z6––|V|
|Z1Z8|
Конечные результаты
A910 = #|Z3Z4––––––––|&Z1 = #|Z3Z4––––––––|&Z1=
|Z1Z2#|Z6––|V| |Z1Z2#|Z6––|V|
|Z1Z8| |Z1Z8|
Очевидно взаимнооднозначное соответствие СФА и ССА (изоморфизм)