- •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
- •Построение временной диаграммы
- •Заключение
Дополнительные функциональные обозначения
ООА: Общее обозначение алгоритма
alg A910: ya910 = Fa910(xa0)
СКА: Система команд алгоритма
Z1:yz1 :=Fz1(xz1)
Z2:yz2 :=Fz2(xz2)
Z3:yz3 :=Fz3(xz3)
Z4:yz4 :=Fz4(xz4)
Z6:yz6 :=Fz6(xz6)
Z8:yz8 :=Fz8(xz8)
// Заданы стандартные обобщенные функциональные представления
// отдельных команд – на уровне обобщенных операторов присваивания
// Не указаны связи переменных разных команд
ИнФ: Инфиксная форма
АлгПТ: Алгол-подобный текст / ПасПТ: Паскаль-подобный текст
ГИ: Горизонтальное исполнение
ШТА: Шаблон текста алгоритма
ИнФ: Инфиксная форма
A910 = (((Z1Z2(Z6V(Z1Z8))) & (Z3Z4))Z1)
ТЗО: Таблица замены обозначений
Компоненты ШТА |
Ai |
Zi |
= |
( |
) |
|
& |
V |
Компоненты РТА: латиница кириллица |
algAi алг Ai |
Zi Zi |
: : |
( begin нач |
) end кон |
; ; |
and и |
or или |
РТА: Рабочий текст алгоритма // замены обозначений
вариант 1
A910: (((Z1; Z2; (Z6 or (Z1; Z8))) and (Z3; Z4)); Z1)
вариант 2
A910: begin begin begin Z1; Z2; begin Z6 or begin Z1; Z8 end end end and begin Z3; Z4 end end; Z1 end
ВИ: Вертикальное исполнение // вариант 2
АлгПТ: Алгол-подобный текст / ПасПТ: Паскаль-подобный текст
ШТА: Шаблон текста алгоритма |
РТА: Рабочий текст | ||
A910 = ( ( ( Z1 Z2 ( Z6 V ( Z1 Z8 ) ) ) & ( Z3 Z4 ) ) Z1 ) |
A910 = ( ( ( Z1 Z2 ( Z6 V ( Z1 Z8 ) ) ) & ( Z3 Z4 ) ) Z1 ) |
A910 = ( | ( | | ( | | | Z1 | | | Z2 | | | ( | | | | Z6 V | | | | ( | | | | | Z1 | | | | | Z8 | | | | ) | | | ) | | ) & | | ( | | | Z3 | | | Z4 | | ) | ) | Z1 ) |
alg A910: begin begin begin Z1; Z2; begin Z6 or begin Z1; Z8 end end end and begin Z3; Z4 end end Z1 end |
Подстановка функций команд (операторы присваивания)
РТА: Рабочий текст | |
alg A910: ya910 = Fa910(xa910): begin begin begin Z1: yz1 := Fz1(xz1); Z2: yz2 := Fz2(xz2); begin Z6: yz6 := Fz6(xz6)or begin Z1: yz1 := Fz1(xz1); Z8: yz8 := Fz8(xz8) end end end and begin Z3: yz3 := Fz3(xz3); Z4: yz4 := Fz4(xz4) end end Z1: yz1 := Fz1(xz1) end |
alg A910: ya910 = Fa910(xa910): begin begin begin yz1 := Fz1(xz1); yz2 := Fz2(xz2); begin yz6 := Fz6(xz6)or begin yz1 := Fz1(xz1); yz8 := Fz8(xz8) end end end and begin yz3 := Fz3(xz3); yz4 := Fz4(xz4) end end yz1 := Fz1(xz1) end |
Анализ:
Результаты
Язык
синтаксис
семантика
прагматика – субъекты (автомат, персонал), присубъекты
ручные средства
автоматизация
Выводы
ИнФ': Неявная инфиксная форма
// неявная форма относительно знака операции суперпозиции ()
ГИ: Горизонтальное исполнение
СиПТ: Си-подобный текст
ШТА: Шаблон текста алгоритма
// ИнФ: Инфиксная форма
A910 = (((Z1Z2(Z6V(Z1Z8))) & (Z3Z4))Z1) =
// Удаление явной связки следования (суперпозиции )
= (((Z1Z2 (Z6V(Z1Z8))) & (Z3Z4))Z1)
// Введение пробелов (повышения читабельности)
A910 = (((Z1 Z2 (Z6 V (Z1 Z8))) & (Z3 Z4)) Z1)
// Подстрочные индексы (повышения читабельности)
A910 = (((Z1Z2 (Z6 V (Z1Z8))) & (Z3Z4))Z1)
ТЗО: Таблица замены обозначений
Компоненты ШТА |
Ai |
Zi |
= |
( |
) |
|
& |
V |
Компоненты РТА: |
alg Ai |
Zi; |
: |
{ |
} |
|
& &' |
$ $' |
РТА: Рабочий текст алгоритма // замены обозначений
algA910:{{{Z1;Z2; {Z6; $ {Z1;Z8;}}} & {Z3;Z4;}}Z1;}
ВИ: Вертикальное исполнение
СиПТ: Си-подобный текст
// A910 = (((Z1 Z2 (Z6 V (Z1 Z8))) & (Z3 Z4)) Z1)
ШТА: Шаблон текста алгоритма |
РТА: Рабочий текст | |||
A910 = ( ( ( Z1 Z2 ( Z6 V ( Z1 Z8 ) ) ) & ( Z3 Z4 ) ) Z1 ) |
A910 = ( ( ( Z1 Z2 ( Z6 V ( Z1 Z8 ) ) ) & ( Z3 Z4 ) ) Z1 ) |
A910 = ( | ( | | ( | | | Z1 | | | Z2 | | | ( | | | | Z6 V | | | | ( | | | | | Z1 | | | | | Z8 | | | | ) | | | ) | | ) & | | ( | | | Z3 | | | Z4 | | ) | ) | Z1 ) |
A910 =((( | | | Z1 | | | Z2 ( | | | | Z6 V ( | | | | | Z1 | | | | | Z8 | | | | ) | | | ) | | ) & ( | | | Z3 | | | Z4 | | ) | ) | Z1 ) |
A910 ={{{ | | | Z1; | | | Z2; { | | | | Z6 $ { | | | | | Z1; | | | | | Z8; | | | | } | | | } | | } & { | | | Z3; | | | Z4; | | } | } | Z1; } |
Подстановка функций команд (операторы присваивания)
РТА: Рабочий текст алгоритма | |
A910: ya910 = Fa910(xa910): {{{ Z1: yz1 = Fz1(xz1); Z2: yz2 = Fz1(xz2){ Z6: yz6 = Fz6(xz6)$ { Z1: yz1 = Fz1(xz1); Z8: yz8 = Fz8(xz8); } } } & { Z3: yz3 = Fz3(xz3); Z4: yz4 = Fz4(xz4); } } Z1: yz1 = Fz1(xz1); } |
A910: ya910 = Fa910(xa910): {{{ yz1 = Fz1(xz1); yz2 = Fz1(xz2){ yz6 = Fz6(xz6)$ { yz1 = Fz1(xz1); yz8 = Fz8(xz8); } } } & { yz3 = Fz3(xz3); yz4 = Fz4(xz4); } } yz1 = Fz1(xz1); } |
Анализ:
Результаты
Язык
синтаксис
семантика
прагматика – субъекты (автомат, персонал), присубъекты
ручные средства
автоматизация
Выводы
КоФ: Комбинированная форма
ИнПрПоФ: Инфикно-префиксно-постфиксная форма
ГИ: Горизонтальное исполнение
АлгПТ: Алгол-подобный текст / ПасПТ: Паскаль-подобный текст
ШТА: Шаблон текста алгоритма
// ИнФ: Инфиксная форма
A910 = (((Z1Z2(Z6V(Z1Z8))) & (Z3Z4))Z1) =
// Явное введение знака неявной операции вилки
= (((Z1Z2(Z6#V(Z1Z8)))#& (Z3Z4))Z1) =
= (((Z1Z2(Z6 #V(Z1Z8))) #& (Z3Z4))Z1) = ИнПрПоФ: Инфикно-префиксно-постфиксная форма
// инфиксная по операции , префиксная – по #, постфиксная – по &,V($)
= (#((Z1Z2(Z6V(Z1Z8))),(Z3Z4))&Z1) =
= (#((Z1Z2#(Z6, (Z1Z8))V),(Z3Z4))&Z1) =
= ( #( (Z1Z2#(Z6, (Z1Z8) )V), (Z3Z4) )&Z1)
A910 = ( #( (Z1 Z2 #( Z6, (Z1 Z8) )V ), (Z3 Z4) )& Z1)
// выделены тоном и подчеркнуты специальные пары знаков #( )& )V
ТЗО: Таблица замены обозначений
Общие замены обозначений | ||||||||||||
Компоненты ШТА |
Ai |
Zi |
= |
( |
) |
|
# |
& |
V
| |||
Компоненты РТА: |
alg Ai |
Zi |
: |
begin |
end |
; |
par |
and |
or | |||
Специальные замены обозначений (для специальных пар знаков) | ||||||||||||
Компоненты ШТА |
#( |
)& |
)V | |||||||||
Компоненты РТА: АлгПТ: Алгол-подобный текст ПасПТ: Паскаль-подобный текст |
par begin parbegin cobegin |
end and parend_and coend_and |
end or parend_or coend_or |
Допустимые сокращения записи служебных слов:
parend_and = parend
coend_and = coend
РТА: Рабочий текст алгоритма // замены обозначений
АлгПТ: Алгол-подобный текст
alg A910: begin parbegin begin Z1; Z2; parbegin Z6, begin Z1; Z8) parend–or end, begin Z3; Z4 end parend–and; Z1 end
ПасПТ: Паскаль-подобный текст
alg A910: begin cobegin begin Z1; Z2; cobegin Z6, begin Z1; Z8) coend–or end, begin Z3; Z4 end coend–and; Z1 end
Допустимые сокращения:
АлгПТ: Алгол-подобный текст // parend_and=parend
alg A910 begin parbegin begin Z1; Z2; parbegin Z6, begin Z1; Z8) parend–or end, begin Z3; Z4 end parend; Z1 end
ПасПТ: Паскаль-подобный текст //coend_and=coend
alg A910: begin cobegin begin Z1; Z2; cobegin Z6, begin Z1; Z8) coend–or end, begin Z3; Z4 end coend; Z1 end
ВИ: Вертикальное исполнение
АлгПТ: Алгол-подобный текст / ПасПТ: Паскаль-подобный текст
// A910 = ( #( (Z1 Z2 #( Z6, (Z1 Z8) )V ), (Z3 Z4) )& Z1)
ШТА: Шаблон текста алгоритма |
РТА: Рабочий текст | ||
A910 = ( # ( ( Z1 Z2 # ( Z6 , ( Z1 Z8 ) ) V ) , ( Z3 Z4 ) ) & Z1 ) |
A910= ( #( ( Z1 Z2 #( Z6, ( Z1 Z8 ) )V ), ( Z3 Z4 ) )& Z1 ) |
A910= ( | #( | | ( | | | Z1 | | | Z2 | | | #( | | | | Z6, | | | | ( | | | | | Z1 | | | | | Z8 | | | | ) | | | )V | | ), | | ( | | | Z3 | | | Z4 | | ) | ) & Z1 ) |
A910= begin parbegin //cobegin begin Z1; Z2; parbegin //cobegin Z6, begin Z1; Z8 end parend_or //coend_or end, begin Z3; Z4 end parend_and; //coend_and Z1 end |
Подстановка функций команд (операторы присваивания)
РТА: Рабочий текст алгоритма | |
alg A910: ya910 = Fa910(xa910): begin parbegin //cobegin begin Z1: yz1 := Fz1(xz1); Z2: yz2 := Fz2(xz2); parbegin //cobegin Z6: yz6 := Fz6(xz6), begin Z1: yz1 := Fz1(xz1); Z8: yz8 := Fz8(xz8) end parend_or //coend_or end, begin Z3: yz3 := Fz3(xz3); Z4: yz4 := Fz4(xz4) end parend_and; //coend_and Z1: yz1 := Fz1(xz1) end |
alg A910: ya910 = Fa910(xa910) begin parbegin //cobegin begin yz1 := Fz1(xz1); yz2 := Fz2(xz2); parbegin //cobegin yz6 := Fz6(xz6), begin yz1 := Fz1(xz1); yz8 := Fz8(xz8) end parend_or //coend_or end, begin yz3 := Fz3(xz3); yz4 := Fz4(xz4) end parend_and; //coend_and yz1 := Fz1(xz1) end |
Анализ:
Результаты
Язык
синтаксис
семантика
прагматика – субъекты (автомат, персонал), присубъекты
ручные средства
автоматизация
Выводы