Е. Миркес - Учебное пособие по курсу «Нейроинформатика»
Назначение — сохраняет учителя в файле или в памяти.
Описание исполнения.
1. Если в момент получения запроса учитель не загружен, то возникает ошибка 601 — неверное имя компонента, управление передается обработчику ошибок, а обработка запроса прекращается.
2. Если в качестве аргумента FileName дана строка, первые четыре символа которой составляют слово File, то остальная часть строки содержит имя файла для записи компонента. В противном случае FileName должен содержать пустой указатель. В этом случае запрос вернет в нем указатель на область памяти, куда будет помещено описание компонента в формате для записи на диск. Если описание не вмещается в одну область памяти, то в текст будет включено ключевое слово Continue, за которым следует четыре байта, содержащие адрес следующей области памяти.
3. Если во время сохранения компонента возникнет ошибка, то возникает ошибка 603 — ошибка сохранения компонента, управление передается обработчику ошибок, а обработка запроса прекращается.
Инициация редактора учителя
К этой группе запросов относится запрос, который инициирует работу не рассматриваемого в данной работе компонента — редактора учителя.
Редактировать компонент (inEdit)Описание запроса:
Pascal:
Procedure inEdit(CompName: PString);
C:
void inEdit(PString CompName)
Описание аргумента:
CompName — указатель на строку символов — имя файла или адрес памяти, содержащие описание учителя.
Если в качестве аргумента CompName дана строка, первые четыре символа которой составляют слово File, то остальная часть строки содержит имя учителя и после пробела имя файла, содержащего описание учителя. В противном случае считается, что аргумент CompName содержит указатель на область памяти, содержащую описание учителя в формате для записи на диск. Если описание не вмещается в одну область памяти, то допускается включение в текст описания ключевого слова Continue, за которым следует четыре байта, содержащие адрес следующей области памяти.
Если в качестве аргумента CompName передан пустой указатель или указатель на пустую строку, то редактор создает нового учителя.
Работа с параметрами учителя
В данном разделе описаны запросы, позволяющие изменять параметры учителя.
Получить параметры (ingetdata)Описание запроса:
Pascal:
Function inGetData(Var Param: PRealArray): Logic;
C:
Logic inGetData(PRealArray* Param)
Описание аргумента:
Param — адрес массива параметров.
Назначение — возвращает вектор параметров учителя.
Описание исполнения.
1. Если Error <> 0, то выполнение запроса прекращается.
2. Если в момент получения запроса учитель не загружен, то возникает ошибка 601 — неверное имя компонента, управление передается обработчику ошибок, а обработка запроса прекращается.
3. В массив, адрес которого передан в аргументе Param, заносятся значения параметров. Параметры заносятся в массив в порядке описания в разделе описания статических переменных.
Получить имена параметров (inGetName)Описание запроса:
Pascal:
Function inGetName(Var Param: PRealArray): Logic;
C:
Logic inGetName(PRealArray* Param)
Описание аргумента:
Param — адрес массива указателей на названия параметров.
Назначение — возвращает вектор указателей на названия параметров учителя.
Описание исполнения.
1. Если Error <> 0, то выполнение запроса прекращается.
2. Если в момент получения запроса учитель не загружен, то возникает ошибка 601 — неверное имя компонента, управление передается обработчику ошибок, а обработка запроса прекращается.
3. В массив, адрес которого передан в аргументе Param, заносятся адреса символьных строк, содержащих названия параметров.
Установить параметры (inSetData)Описание запроса:
Pascal:
Function inSetData(Param: PRealArray): Logic;
C:
Logic inSetData(PRealArray Param)
Описание аргументов:
Param — адрес массива параметров.
Назначение — заменяет значения параметров учителя на значения, переданные, в аргументе Param.
Описание исполнения.
1. Если Error <> 0, то выполнение запроса прекращается.
2. Если в момент получения запроса учитель не загружен, то возникает ошибка 601 — неверное имя компонента, управление передается обработчику ошибок, а обработка запроса прекращается.
3. Параметры, значения которых хранятся в массиве, адрес которого передан в аргументе Param, передаются учителю.
Обработка ошибок
В табл. 38 приведен полный список ошибок, которые могут возникать при выполнении запросов компонентом учитель, и действия стандартного обработчика ошибок.
Таблица 38. Ошибки компонента учитель и действия стандартного обработчика ошибок.
№ Название ошибки Стандартная обработка 601 Несовместимость сети и учителя Занесение номера в Error 602 Ошибка считывания учителя Занесение номера в Error 603 Ошибка сохранения учителя Занесение номера в Error 604 Некорректная работа с памятью Занесение номера в Error 605 Ошибка исполнения учителя Занесение номера в Error 606 Неверное использование запроса на прерывание обучения Занесение номера в ErrorСтандарт первого уровня компонента контрастер
В этом разделе приводится стандарт языка описания компонента контрастер. Компонент контрастер во многом подобен компоненту учитель. Так в языке описания компонента контрастер допускается использование функций, описанных в разделе «Список стандартных функций».
Язык описания контрастера
В отличие от таких компонент как оценка, сеть и интерпретатор ответа, контрастер не является составным объектом. Однако, контрастер может состоять из множества функций, вызывающих друг друга. Собственно контрастер — это процедура, управляющая процессом контрастирования. Ключевые слова, специфические для языка описания контрастера приведены в табл. 39
Библиотеки функций контрастераТаблица 39. Ключевые слова для языка описания контрастера
Ключевое слово Краткое описание 1. Main Начало главной процедуры 2. Contrast Заголовок описания контрастера 3. ContrLib Заголовок описания библиотеки функций 4. Used Подключение библиотек функций 5. ContrastFunc Глобальная переменная типа функция.Библиотеки функций контрастера содержат описание функций, необходимых для работы одного или нескольких контрастеров. Использование библиотек позволяет избежать дублирования функций в различных контрастерах. Описание библиотеки функций аналогично описанию контрастера, но не содержит главной процедуры.
БНФ языка описания контрастераОбозначения, принятые в данном расширении БНФ и описание ряда конструкций приведены в разделе «Описание языка описания компонентов».
<Описание библиотеки>::= <Заголовок библиотеки> <Описание глобальных переменных> <Описание функций> <Конец описания библиотеки>
<Заголовок библиотеки>::= ContrLib <Имя библиотеки> [Used <Список имен библиотек>]
<Имя библиотеки>::= <Идентификатор>
<Список имен библиотек>::= <Имя используемой библиотеки> [,<Список имен библиотек>]
<Имя используемой библиотеки>::= <Идентификатор>
<Конец описания библиотеки>::= EndContrLib
<Описание контрастера>::= <Заголовок контрастера> <Описание глобальных переменных> <Описание функций> <Главная процедура> <Конец описания контрастера>
<Заголовок контрастера>::= Contrast <Имя библиотеки> [Used <Список имен библиотек>]