5. Обработка ошибок.
Поскольку нейрокомпьютер может работать одновременно с несколькими сетями, то и компонент оценка должен иметь возможность одновременной работы с несколькими оценками. Поэтому большинство запросов к оценке содержат явное указание имени оценки. Ниже приведено описание всех запросов к компоненту оценка. Каждый запрос является логической функцией, возвращающей значение истина, если запрос выполнен успешно, и ложь — при ошибочном завершении исполнения запроса.
В запросах второй и третьей группы при обращении к частным оценкам используется следующий синтаксис:
<���Полное имя частной оценки>::= <���Имя оценки>.<���Псевдоним частной оценки> [ [ <���Номер экземпляра> ] ]
При вызове ряда запросов используются предопределенные константы. Их значения приведены в табл. 30.
Единственный запрос первой группы выполняет основную функцию компонента оценка — вычисляет оценку и, если требуется, массив производных оценки по оцениваемым сигналам.
Оценить массив сигналов (Estimate)
Описание запроса:
Pascal:
Function Estimate(EstName: PString; Signals, Back, Answers, Reliability: PRealArray; Direv: Logic; Var Estim: Real): Logic;
C:
Logic Estimate(PString EstName, PRealArray Signals, PRealArray* Back, PRealArray Answers, PRealArray Reliability, Logic Direv,real* estim)
Описание аргумента:
EstName — указатель на строку символов, содержащую имя оценки.
Signals — указатель на массив оцениваемых сигналов.
Back — указатель на массив производных оценки по оцениваемым сигналам.
Answers — указатель на массив правильных ответов.
Reliability — указатель на массив достоверностей правильных ответов.
Direv — признак необходимости вычисления производных (False — не вычислять).
Estim — вычисленная оценка.
Назначение — вычисляет оценку массива сигналов Signals, используя оценку, указанную в параметре EstName.
Описание исполнения.
1. Если Error <> 0, то выполнение запроса прекращается.
2. Если в качестве аргумента EstName дан пустой указатель, или указатель на пустую строку, то исполняющим запрос объектом является первая оценка в списке оценок компонента оценка.
3. Если список оценок компонента оценка пуст или имя оценки, переданное в аргументе EstName, в этом списке не найдено, то возникает ошибка 401 — неверное имя оценки, управление передается обработчику ошибок, а обработка запроса прекращается.
4. Производится вычисление оценки оценкой, имя которой было указано в аргументе EstName.
5. Если во время выполнения запроса возникает ошибка, то генерируется внутренняя ошибка 404 — ошибка оценивания. Управление передается обработчику ошибок. Выполнение запроса прекращается. В противном случае выполнение запроса успешно завершается.
Ниже приведен список запросов, исполнение которых описано в разделе «Общий стандарт»:
esSetCurrent — Сделать оценку текущим
esAdd — Добавление новой оценки
esDelete — Удаление оценки
esWrite — Запись оценки
esGetStructNames — Вернуть имена частных оценок
esGetType — Вернуть тип частной оценки
esGetData — Получить параметры частной оценки
esGetName — Получить имена параметров частной оценки
esSetData — Установить параметры частной оценки
esEdit — Редактировать оценку
OnError — Установить обработчик ошибок
GetError — Дать номер ошибки
FreeMemory — Освободить память
В запросе esGetType в переменной TypeId возвращается значение одной из предопределенных констант, перечисленных в табл. 30.
Кроме того, во второй группе запросов есть запрос SetEstIntParameters аналогичный запросу esSetData, но определяющий частную оценку, параметры которой изменяются, по полному имени связанного с ней интерпретатора ответа.
Установить параметры (SetEstIntParameters)
Описание запроса:
Pascal:
Function SetEstIntParameters(IntName: PString; Param: PRealArray): Logic;
C:
Logic SetEstIntParameters(PString IntName, PRealArray Param)
Описание аргументов:
IntName — указатель на строку символов, содержащую полное имя частного интерпретатора ответа.
Param — адрес массива параметров.
Назначение — заменяет значения параметров частной оценки, связанной с интерпретатором ответа, указанного в аргументе IntName, на значения, переданные, в аргументе Param.
Описание исполнения.
1. Запрос передается всем частным оценкам всех оценок в списке оценок компонента оценка.
2. Если частная оценка связана с частным интерпретатором ответа, имя которого указано в аргументе IntName, то текущие значения параметров частной оценки заменяются на значения, хранящиеся в массиве, адрес которого передан в аргументе Param.
Читать дальше