Е. Миркес - Учебное пособие по курсу «Нейроинформатика»
4. Если текущий указатель указывает на одно из состояний «до первого примера» или «после последнего примера», то возникает ошибка 111 — попытка чтения до или после текущей выборки. Управление передается обработчику ошибок. Запрос завершается неуспешно.
5. Если в аргументе What указан вектор предобработанных данных, но в текущем примере он отсутствует, то генерируется запрос предобработать данные. Если предобработка завершается успешно, то полученный вектор предобработанных данных включается в пример, в противном случае выполнение запроса прекращается. Возвращается значение ложь.
6. В элементы массива, на который указывает аргумент Data, копируются данные из того вектора данных текущего примера, который указан в аргументе What. Если требуемый вектор в задачнике отсутствует, то возникает ошибка 112 — данные отсутствуют и запрос завершается со значением ложь. В противном случае запрос успешно завершается.
Обновить данные (Put)Описание запроса:
Pascal:
Function Put(Handle: Integer; Data: PRealArray; What: Integer): Logic;
C:
Logic Put(Integer Handle, PRealArray Data, Integer What)
Описание аргументов:
Handle — номер сеанса
Data — указатель на массив, в котором переданы данные, которые должны быть занесены в задачник.
What — одна из предопределенных констант tbColor, tbInput, tbPrepared, tbAnswers, tbReliability, tbCalcAnswers, tbCalcReliability, tbWeight, tbEstimation, tbComment
Назначение — обновить данные текущего примера
Описание исполнения.
1. Если Error <> 0, то выполнение запроса прекращается.
2. Если аргумент Handle некорректен возникает ошибка 107 — неверный номер сеанса. Управление передается обработчику ошибок. Выполнение запроса прекращается.
3. Если аргумент What имеет недопустимое значение, то возникает ошибка 113 — неверный тип вектора в запросе Put. Управление передается обработчику ошибок. Выполнение запроса прекращается.
4. Если текущий указатель указывает на одно из состояний «до первого примера» или «после последнего примера», то возникает ошибка 111 — попытка чтения до или после текущей выборки. Управление передается обработчику ошибок. Запрос завершается неуспешно.
5. Если устанавливается вектор входных данных, то для текущего примера должен быть освобожден вектор предобработанных данных.
6. В данные примера копируются значения, указанные в массиве Data. Запрос успешно завершается.
Сбросить предобработку (RemovePrepare)Описание запроса:
Pascal:
Procedure RemovePrepare;
C:
void RemovePrepare()
Назначение — отмена предобработки всех ранее предобработанных примеров.
Описание исполнения.
1. Если Error <> 0, то выполнение запроса прекращается.
2. У всех примеров задачника освобождаются вектора предобработанных данных.
Окраска примеров
В данный раздел помещены запросы для работы с цветами. Отметим, что цвет примера, возвращаемый запросом GetColor можно получить также с помощью запроса Get.
Дать цвет примера (GetColor)Описание запроса:
Pascal:
Function GetColor(Handle: Integer): Color;
C:
Logic GetColor(Integer Handle)
Описание аргументов:
Handle — номер сеанса
Назначение — возвращает цвет текущего примера.
Описание исполнения.
1. Если Error <> 0, то выполнение запроса прекращается.
2. Если аргумент Handle некорректен возникает ошибка 107 — неверный номер сеанса. Управление передается обработчику ошибок. Выполнение запроса прекращается.
3. Если текущий указатель указывает на одно из состояний «до первого примера» или «после последнего примера», то возникает ошибка 111 — попытка чтения до или после текущей выборки. Управление передается обработчику ошибок. Запрос завершается неуспешно.
4. Возвращается цвет текущего примера.
Покрасить пример (PaintCurrent)Описание запроса:
Pascal:
Function PaintCurrent(Handle: Integer; NewColor, ColorMask: Color; Oper: Integer): Logic;
C:
Logic PaintCurrent(Integer Handle, Color NewColor, Color ColorMask, Integer Oper)
Описание аргументов:
Handle — номер сеанса.
NewColor — новый цвет для окраски примера.
ColorMask — маска цвета для окраски примера.
Oper — операция, используемая при окраске примера. Должна быть одной из констант COr, CAnd, CXor, CNot.
Назначение — изменяет цвет текущего примера.
Описание исполнения.
1. Если Error <> 0, то выполнение запроса прекращается.
2. Если аргумент Handle некорректен возникает ошибка 107 — неверный номер сеанса. Управление передается обработчику ошибок. Выполнение запроса прекращается.
3. Если Oper некорректен, то возникает ошибка 114 — неверная операция окраски примера. Управление передается обработчику ошибок. Запрос завершается со значением ложь.
4. Новый цвет примера:= (Старый цвет примера And ColorMask) Oper NewColor
Ошибки компонента задачника
В табл. 20 приведен полный список ошибок, которые могут возникать при выполнении запросов компонентом задачник, и действия стандартного обработчика ошибок.
Таблица 20. Ошибки компонента задачник и действия стандартного обработчика ошибок.
№ Название ошибки Стандартная обработка 101 Запрос при отсутствии задачника Занесение номера в Error 102 Ошибка чтения задачника Занесение номера в Error 103 Ошибка записи задачника Занесение номера в Error 104 Попытка считывания задачника при открытых сеансах ранее считанного задачника Занесение номера в Error 105 Закрытие задачника при открытых сеансах Занесение номера в Error 106 Недопустимый код операции при открытии сеанса Занесение номера в Error 107 Неверный номер сеанса Занесение номера в Error 10 Переход за конечную границу текущей выборки Игнорируется 109 Переход за начальную границу текущей выборки Игнорируется 110 Неверный тип вектора в запросе Get Занесение номера в Error 111 Попытка чтения до или после текущей выборки Занесение номера в Error 112 Данные отсутствуют Игнорируется 113 Неверный тип вектора в запросе Put Занесение номера в Error 114 Неверная операция окраски примера Занесение номера в ErrorСтандарт первого уровня компонента предобработчик
Данный раздел посвящен описанию стандарта языка описания и хранения на внешнем носителе компонента предобработчик. Поскольку крайне редко встречаются случаи, когда сеть получает один входной сигнал, предобработчик всегда является составным. Построение предобработчика происходит в редакторе предобработчика. Для описания предобработчика предлагается использовать специальный язык.
Неопределенные значения
В практике работы большинство таблиц данных не полны. То есть, часть данных в примерах задачника неизвестна. Задачник должен однозначно указать предобработчику неизвестные данные. Для этих целей для каждого типа входных данных определено специальное значение — неопределенное. Для передачи неизвестных значений используются следующие величины: 10-40 для действительных чисел и 0 для всех типов качественных признаков.
Стандартные предобработчики
В большинстве случаев достаточно использовать стандартные предобработчики, список которых приведен в табл. 11. Ниже в данном разделе приведено описание параметров стандартных предобработчиков.
Все стандартные предобработчики получают в качестве аргументов массивы входной информации и входных сигналов. Кроме того, они содержат различные наборы параметров. Алгоритмы выполнения стандартных предобработчиков приведены в разделе «Пример описания предобработчика». Далее описаны наборы параметров стандартных предобработчиков. Все параметры должны быть описаны как статические переменные.