andr писал(а):
Все алгоритмы в целом линейные
(хотя местами просматривается древесная структура и какая-то закрутка).
Ясно, что техника структурных построений не удовлетворяет концепции Дракона.
Автор ее будет сильно недоволен.
Но это реальная технологически профессиональная алгоритмическая практика.
Ее необходимо далее немного "обсосать".
И что из этого будет полезного - теоретически и практически?
Далее приводится начальный анализ
записи простых линейных алгоритмов (условно) технологического назначения:
с точки зрения структурной теории алгоритмов.
Приводятся и сопоставляются полиморфные представления алгоритмов
в разных знаковых формах представления:
структурные формулы и схемы, а также псевдокоды алгоритмов.
Принимается следующие простой технологический алгоритм:
Вложение:
ЛинАлги-01.PNG [ 13.76 КБ | Просмотров: 9524 ]
В исходную основу полиморфных структурных построений алгоритмов
принимаются структурные формулы алгоритмов.
Они имеют большое самостоятельное значение (в разных отношениях)
и используются как шаблон для построения схем и псевдокодов.
Для линейных алгоритмов - это простые исходные представления.
Вложение:
ЛинАлги-02.PNG [ 15.47 КБ | Просмотров: 9524 ]
Далее приводится пример построения псевдокода алгоритма
по заданной структурной формуле.
Вложение:
ЛинАлги-03.PNG [ 31.66 КБ | Просмотров: 9524 ]
Очевидны простые соответствия двух форм линейных алгоритмов:
с точностью до замены обозначений.
Здесь появляются служебные термины
begin - начало (нач) и
end - конец (кон).
Они соответствуют паре синтаксических скобок "()".
Эти служебные слова теперь зарезервированы именно в таком их применении.
Далее приводится пример построения структурных схем алгоритмов
(блок-схем и штрих-схем)
по заданной структурной формуле.
Вложение:
ЛинАлги-04.PNG [ 32.28 КБ | Просмотров: 9524 ]
Здесь исходной паре скобок "()" со служебными словами
begin - начало (нач) и
end - конец (кон)для псевдокодов
соответствует прямоугольный блок - общая схемная оболочка алгоритма.
Нет проблем для размещения имен алгоритмов.
Знаки "=" (равно) и ":" (двоеточие) представляют отношение обозначения:
имя алгоритма (A200) обозначает (:) тело алгоритма.
Двоеточие после имени алгоритма в псевдокоде и на схемах алгоритмов
можно опускать (но подразумевается его неявное наличие).
Особо необходимо отметить, что пока не появляются
овальные терминаторы схем алгоритмов типа:
Вложение:
ЛинАлги-05.PNG [ 2.87 КБ | Просмотров: 9524 ]
Это два уха - в одно ухо влетает, в другое вылетает.
Пока теоретически непонятно что это такое, и откуда они взялись.
Детишки в школе вставляют туда термины "Начало" и "Конец".
Но эти термины уже теоретически зарезервированы (выше это было показано).
И вообще они излишни (это и "козе понятно", что начало и конец),
и, главное, не отражают исторически первичный алгоритмический смысл терминаторов.
В профессиональных технологических алгоритмах, как правило,
вполне обходятся без таких детских шалостей.
Есть тенденция, за ненадобностью здесь термина
Начало,
затолкать в левое ухо имя алгоритма.
Но как потом будет показано, это будет мешать адекватно отражать
назначение входных терминаторов
(в частности для многовходовых алгоритмов, для группового управления объектами и т.п.)
Далее приводятся горизонтальные схемные построения
по упрощенным формам записи структурных формул.
Вложение:
ЛинАлги-06.PNG [ 13.92 КБ | Просмотров: 9524 ]
Вложение:
ЛинАлги-07.PNG [ 6.28 КБ | Просмотров: 9524 ]
И в заключение приводятся вертикальные схемные построения.
Вложение:
ЛинАлги-08.PNG [ 16.49 КБ | Просмотров: 9524 ]
------------------
Могут быть разные вопросы, на которые есть ответы
в представленных аналитических таблицах.
В частности, может быть не ясны блок-схемы с вплотную сдвинутыми блоками.
Но такие блок схемы часто встречаются в разных вариантах.
А нижняя левая блок-схема в виде столбика блоков:
это модель, например, таблицы маршрутной технологии.
В общем, все что возможно в теории, практически уже где-то и кем-то применяется.
=================
Может появиться вопрос - к чему все такие изыски.
Ответ:
1)
Здесь уже заложены
некоторые регулярные первичные теоретико-алгоритмические основы
технологических алгоритмов.
Для личных целей - в учебном процессе и т.п.
Их можно критиковать, но тем не менее уже что есть.
2)
Здесь не дошло для овальных терминаторов для линейных алгоритмов
и их обобщений.
3)
Наглядно видны первичные элементы
техники полиморфных структурных построений.
Они необходимы для разных целей и задач,
в частности для систематизации, формализации и автоматизации
структурных схемных построений и построений псевдокодов
(по заданным структурным формулам).
4)
В частности, очевидно решение задачи (в первом линейном приближении)
точного соответствия и взаимной обратимости)
разных знаковых форм представления алгоритмов.
При чем это не просто изоморфизм,
а так называемое прямое структурное соответствие:
полное совпадение разных с точностью до замены обозначений.
Стоит задача повышения выразительности структурных формулю
5)
Для параллельных алгоритмов все на порядки сложнее,
но на простых линейных структурах
решаются или ставятся и многие задачи общего значения.