
- •Глава 1. Анализ процессов проектирования алгоритмов
- •1.1. Актуальность создания системы проектирования алгоритмов
- •1.2. Анализ форм представления алгоритмов
- •1.3. Анализ процесса проектирования алгоритмов
- •1.4. Документы описания алгоритма
- •1.5. Определение системы программирования татра
- •Раздел 2. Языки описания алгоритмов
- •4.1. Язык заполнения сводной документа описания признаков
- •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. Состав программного обеспечения
Int filtr(long n, long a, short l, short *I, short *j, long *m, int RazM, long *k, int RazK) ,
где N - строка, содержащая имя алгоритма формирования кортежа признаков;
A - массив, в котором хранятся данные об объекте;
L - число столбцов массива А;
I - номер просматриваемой строки в массиве А;
J - номер просматриваемого столбца в массиве А;
M - массив, предназначенный для хранения алгоритма формирования кортежа признаков;
RazM - размер массива M;
K - массив, в котором формируется кортеж признаков. Этот массив должен быть включен в состав фактических параметров обрабатывающей программы "predi", реализующей алгоритм выбора решений;
RazK - размер массива K.
Замечание: При определении размера массива, предназначенного для хранения алгоритма формирования кортежа признаков, необходимо предусмотреть поле в 8 байт под имя алгоритм.
Функция "filtr" возвращает следующие значения:
1 - при нормальном завершении функции;
-1 - при аварийном завершении функции, а именно, не считан алгоритм;
-2 - при аварийном завершении функции, а именно, сбой при запуске потомка;
-3 - при аварийном завершении потомка, а именно:
нажатие Ctrl-Break,
критическая ошибка устройства,
неопознанная ошибка,
резидентное завершение потомка;
-4 - при аварийном контролируемом программистом завершении потомка.
Int predi( long n, long k, long m, int RazM, long r, int RazM) ,
где N - строка, содержащая имя алгоритма выбора решений;
K - массив, в котором сформирован программой "filtr" кортеж признаков;
M - массив, предназначенный для хранения алгоритма выбора решений;
RazM - размер массива M;
R - массив, в который заносятся данные о числе и номерах выбранных решений;
RazR - размер массива R.
Замечание: При определении размера массива, предназначенного для хранения алгоритма выбора решений, необходимо предусмотреть поле в 8 байт под имя алгоритм.
Функция "predi" возвращает следующие значения:
1 - при нормальном завершении функции;
-1 - при аварийном завершении функции, а именно, не считан алгоритм;
-2 - при аварийном завершении функции, а именно, сбой предиката.
Int resch(long n, short f, long a, short l, short I, short j, long m, int RazM) ,
где N - строка, содержащая имя алгоритма формирования кортежа признаков;
F - номер формируемого решения;
A - массив, в котором формируется решение;
L - число столбцов массива А;
I - номер просматриваемой строки в массиве А;
J - номер просматриваемого столбца в массиве А;
M - массив, предназначенный для хранения алгоритма формирования решения;
RazM - размер массива M.
Замечание: При определении размера массива, предназначенного для хранения алгоритма формирования решений, необходимо предусмотреть поле в 8 байт под имя алгоритм.
Функция "resch" возвращает следующие значения:
1 - при нормальном завершении функции;
-1 - при аварийном завершении функции, а именно, не считан алгоритм;
-2 - при аварийном завершении функции, а именно, сбой при запуске потомка;
-3 - при аварийном завершении потомка, а именно:
нажатие Ctrl-Break,
критическая ошибка устройства,
неопознанная ошибка,
резидентное завершение потомка;
-4 - при аварийном контролируемом программистом завершении потомка.
Номера строк и столбцов задаются в том случае, если они изменяются в цикле. Номер решения F выбирается из множества выбранных решений, зафиксированных в массиве R.
Замечание: Следует задать размер массива М достаточный для хранения максимального по объему алгоритма, а размеры массивов К, R, А - в соответствии с требованиями конкретной задачи. Имя алгоритма занимает 8 байт (2 элемента типа long).