- •Среда проектирования алгоритмов татра-2 (версия 2) (руководство разработчика)
- •Аннотация
- •Содержание
- •Глава 1. Анализ процессов проектирования алгоритмов
- •1.1. Актуальность создания системы проектирования алгоритмов
- •1.2. Анализ форм представления алгоритмов
- •1.3. Анализ схемы проектирования алгоритмов
- •1.4. Документы описания алгоритмов
- •1.5. Состав среды проектирования алгоритмов татра-2
- •2. Состав среды проектирования алгоритмов татра-2
- •3. Алгоритм функционирования среды проектирования алгоритмов татра-2
- •Aist.Mnt
- •Srtatr00.Exe
- •Выход в операционную систему
- •Решение задачи
- •Закрытие файлов
- •Алгоритмов татра-2
- •Глава 2. Компоненты среды проектирования алгоритмов татра-2
- •2.1. Диалоговый компонент ввода алгоритмов
- •Подготовка рабочих переменных и полей
- •Алгоритм применения правил и выбора допустимого множества решений
- •Алгоритм оформления решений
- •Оформление решения заданного константами
- •Глава 3. Базы данных и знаний среды проектирования алгоритмов татра-2
- •3.1. База данных «Алгоритмы»
- •3.2. База данных «Текстовая форма алгоритмов»
- •4.2. Язык описания правил выбора решений (язык описания таблицы предикатов)
- •4.3. Язык описания решений задачи
- •5. Дополнительные возможности описания алгоритмов
- •5.1. Оптимизация объема памяти, занимаемой алгоритмом (язык описания таблицы предикатов)
- •5.2. Язык заполнения таблицы признаков
- •5.3. Язык описания правил выбора решений без ссылки на сводный документ описания признакового пространства
- •6. Организация ввода алгоритмов в базу данных
- •6.1. Ввод данных в пакетном режиме
- •Int filtr(long n, long a, short l, short *I, short *j, long *m, int RazM, long *k, int RazK) ,
- •Int predi( long n, long k, long m, int RazM, long r, int RazM) ,
- •Int resch(long n, short f, long a, short l, short I, short j, long m, int RazM) ,
- •7.2. Методика проектирования программы вычисления признаков
- •7.3. Методика проектирования программы оформления решения
- •8. Организация хранения алгоритмов в базе данных
- •7.2. Организация информационных массивов в системе программирования tatra
- •8.1. Структура массива мо
- •8. Состав программного обеспечения
- •4. Организация базы данных системы программирования татра
- •5. Организация базы знаний системы программирования татра
3.1. База данных «Алгоритмы»
БД «Алгоритмы» предназначена для хранения промежуточных или окончательных алгоритмов и имеет следующую структуру:
<база данных «Алгоритмы»> ::= <каталог базы данных «Алгоритмы»> <записи базы данных «Алгоритмы»>
<каталог базы данных «Алгоритмы»> ::= <запись каталога базы данных «Алгоритмы»> <запись каталога базы данных «Алгоритмы»> <каталог базы данных «Алгоритмы»>
Записи каталога БД «Алгоритмы» имеют постоянную длину и содержат следующие данные:
<запись каталога базы данных «Алгоритмы»> ::= <имя системы проектирования> <имя алгоритма> <признак завершения алгоритма> <адрес расположения записи о пространстве признаков алгоритма в базе данных> <длина записи> <адрес расположения записи о правилах принятия решений алгоритма в базе данных> <длина записи> <адрес расположения записи о задании решений алгоритма в базе данных> <длина записи>
<имя системы проектирования> ::= <текстовая константа размером в 8 байтов>
<имя алгоритма> ::= <текстовая константа размером в 8 байтов>
<признак завершения алгоритма> ::= <целая константа размером в 2 байта>
Если признак завершения алгоритма равен 0, то ввод алгоритма завершен. Если признак завершения алгоритма равен 1, то ввод алгоритма не завершен.
<адрес расположения записи о пространстве признаков алгоритма в базе данных> ::= <целая константа размером в 4 байта>
<длина записи> ::= < целая константа размером в 2 байта>
<адрес расположения записи о правилах принятия решений алгоритма в базе данных> ::= <целая константа размером в 4 байта>
<адрес расположения записи о решениях алгоритма в базе данных> ::= < целая константа размером в 4 байта>
< записи базы данных «Алгоритмы»> ::= <запись базы данных «Алгоритмы»> <запись базы данных «Алгоритмы»> <записи базы данных «Алгоритмы»>
Записи БД «Алгоритмы» имеют переменную длину и содержат следующие данные:
< запись базы данных «Алгоритмы»> ::= <запись о пространстве признаков алгоритма в базе данных> <запись о правилах принятия решений алгоритма в базе данных> <запись о решениях алгоритма в базе данных>
БД «Алгоритмы» позволяет проектировщику формировать во время проектирования, в общем случае, несколько алгоритмов решения конкретной проблемной задачи, без изменения БЗ систем проектирования. Записи различных частей алгоритма могут быть разнесены в БД.
Составы записей разных частей алгоритма рассмотрены в данной главе ниже.
3.2. База данных «Текстовая форма алгоритмов»
БД «Текстовая форма алгоритмов» предназначена для хранения спроектированных алгоритмов, которые должны пройти тестирование или быть использованы в программных системах. Названная БД имеет следующую структуру:
<база данных «Текстовая форма алгоритмов»> ::= <каталог базы данных «Текстовая форма алгоритмов»> <записи базы данных «Текстовая форма алгоритмов»>
<каталог базы данных «Текстовая форма алгоритмов»> ::= <запись каталога базы данных «Текстовая форма алгоритмов»> <запись каталога базы данных «Текстовая форма алгоритмов»> <каталог базы данных «Текстовая форма алгоритмов»>
Записи каталога БД «Текстовая форма алгоритмов» имеют постоянную длину и содержат следующие данные:
<запись каталога базы данных «Текстовая форма алгоритмов»> ::= <имя алгоритма> <адрес расположения записи о пространстве признаков алгоритма в базе данных> <длина записи> <адрес расположения записи о правилах принятия решений алгоритма в базе данных> <длина записи> <адрес расположения записи о задании решений алгоритма в базе данных> <длина записи>
<имя алгоритма> ::= <текстовая константа размером в 8 байтов>
<адрес расположения записи о пространстве признаков алгоритма в базе данных> ::= <целая константа размером в 4 байта>
<длина записи> ::= < целая константа размером в 2 байта>
<адрес расположения записи о правилах принятия решений алгоритма в базе данных> ::= <целая константа размером в 4 байта>
<адрес расположения записи о решениях алгоритма в базе данных> ::= < целая константа размером в 4 байта>
< записи базы данных «Текстовая форма алгоритмов»> ::= <запись базы данных «Текстовая форма алгоритмов»> <запись базы данных «Текстовая форма алгоритмов»> <записи базы данных «Текстовая форма алгоритмов»>
Записи БД «Алгоритмы» имеют переменную длину и содержат следующие данные:
< запись базы данных «Текстовая форма алгоритмов»> ::= <запись о пространстве признаков алгоритма в базе данных> <запись о правилах принятия решений алгоритма в базе данных> <запись о решениях алгоритма в базе данных>
БД «Текстовая форма алгоритмов» позволяет проектировщику вывести документы об алгоритме и провести его анализ. Записи различных частей алгоритма следуют подряд в БД в следующем порядке:
<запись о пространстве признаков алгоритма в базе данных> <запись о правилах принятия решений алгоритма в базе данных> <запись о решениях алгоритма в базе данных>.
Первые две части алгоритма должны присутствовать в БД «Текстовая форма алгоритмов» обязательно, а запись о решениях может, в частном случае, отсутствовать.
Составы записей разных частей алгоритма рассмотрены в данной главе ниже.
3.3. Структуры составных частей алгоритма
База данных «Промежуточная форма алгоритмов» имеет следующую структуру:
<запись о пространстве признаков алгоритма в базе данных> ::=
.
<запись о правилах принятия решений алгоритма в базе данных> ::=
<запись о решениях алгоритма в базе данных> ::=
3.4. База данных «Промежуточная форма алгоритмов»
База данных «Промежуточная форма алгоритмов» имеет следующую структуру:
<база данных «Промежуточная форма алгоритмов»> ::=
.
3.4. Базы знаний систем проектирования
.
4.1. ЯЗЫК ЗАПОЛНЕНИЯ СВОДНОЙ ДОКУМЕНТА ОПИСАНИЯ ПРИЗНАКОВ
При описании языка будем рассматривать конкретный пример, который представлен на рис.4.
<сводная таблица признаков> ::= <имя системы><описание признаков>/
<имя системы> ::= C=<текстовая константа, не превышающая 8 символов>
В нашем примере имя системы: C=СИММЕТР
<описание признаков> ::= <описание признака>/<описание признака><описание признаков>
Признак может быть задан оператором при кодировании или вычисляться перед началом проектирования в специальном редакторе. В редакторе вычисляются те признаки, которые часто используются в алгоритмах. Признаки, используемые в одном или нескольких алгоритмах, которые применяются редко, вычисляются по программам в процессе проектирования. Таким образом, повышается производительность проектирования. Поэтому признак может описываться двумя способами.
<описание признака>::= <описание заданного или сформированного редактором признака><описание признака, вычисляемого по программе>
<описание заданного или сформированного редактором признака>::= <имя признака><адрес расположения признака>
<имя признака>::= <текстовая константа, не превышающая 8 символов>;
<адрес расположения признака>::= <номер строки><номер столбца> <номер столбца><номер строки>
<номер строки>::= C=<целое без знака>;Ц=<целое без знака>;
<номер столбца>::= T=<целое без знака>;И=<целое без знака>;
Номер строки (столбца) может быть постоянным, тогда он задается с помощью идентификатора С (Т). Если же номер строки (столбца) является переменной величиной, которая должна меняться в цикле, то задается значение смещения номера строки (столбца) по отношению к цикловому значению номера строки (столбца) с помощью идентификатора Ц (И). Такая возможность позволяет удобно оформить правило в котором должны просматриваться признаки различных строк (столбцов) массива описания объекта.
Признак, который вычисляется по программе, можно записывать или не записывать в основной информационной массив. Рекомендуется не запоминать признак, если Вы уверены, что в дальнейшем он не будет использоваться. Если значение признака не заносится в основной информационный массив, то адрес занесения признака либо не задается вообще, либо в адресе занесения не задается одна из компонент (строка или столбец). Признак, который не запоминается, вычисляется при каждом его использовании. Если требуется занести значение признака в основной информационный массив, то адрес занесения задается полностью. Признак, который запоминается, вычисляется только один раз. Это происходит в том случае, когда по адресу занесения записано число -2147483647. Следовательно, правило задания признака, вычисляемого по программе следующее.
<описание признака, вычисляемого по программе>::= <имя признака><имя программы вычисления признака><имя признака><адрес занесения признака>< имя программы вычисления признака><имя признака><имя программы вычисления признака> <адрес занесения признака>
<имя программы>::= П=<текстовая константа, не превышающая 6 символов>;
<адрес занесения признака>::= <номер строки><номер столбца><номер столбца><номер строки><номер строки><номер столбца>
Вариант, когда задается только номер строки или только номер столбца, рекомендуется использовать при передаче значения строки или столбца, изменяемых в цикле. Поэтому в этом случае задаются значение смещения номера строки или столбца по отношению к цикловому значению номера строки (столбца) с помощью идентификатора Ц (И).
ЗАМЕЧАНИЕ: сводный документ описания признаков должен быть задан до описания алгоритмов.
