Est1 = Accuracy*10; {Задаем оценку, не удовлетворяющую требованию точности}
Step = 0.005; {Задаем начальное значение шагу}
End
InstrStep Est > Accuracy
Begin
If Not SaveArray(Map1) Then GoTo Exit; {Сохраняем начальный массив параметров}
For I = 1 To k Do Begin {Выполняем k межпартанных шагов}
If Direct Then Est = SDM(Handle, Step) Else Est = RDM(Handle, Step);
If Error <> 0 Then GoTo Exit;
End;
If Not SaveArray(DirectMap) Then GoTo Exit; {Сохраняем конечный массив параметров}
For I = 1 To TLong(Map^[0]) Do
DirectMap^[I] = DirectMap^[I] - Map^[I]; {Вычисляем направление ParTan шага}
ParTanStep = 1; {Задаем
начальное значение ParTan шагу}
Est =Optimize(DirectMap, ParTanStep); {Вызываем функцию подбора оптимального шага}
If Error <> 0 Then GoTo Exit;
End
Close
Begin
Exit:
If Not EraseArray(Мар) Then; {Освобождаем вспомогательные массивы}
If Not EraseArray(DirectMap) Then;
QName = "CloseSession"; {Задаем имя запроса}
Map = NewArray(mRealArray, 1); {Создаем массив для аргументов запроса}
If Map = Null Then GoTo Exit1;
TPointer(Map^[1]) = @Handle; {Заносим адрес единственного аргумента}
If Not GenerateQuest(@QName, Map) Then;{Открываем сеанс работы с задачником}
If Not FreeArray(mRealArray, Map) Then; {Освобождаем массив для аргументов}
Exit1:
End
End Instructor
Стандарт второго уровня компонента учитель
Компонент учитель одновременно работает только с одним учителем. Запросы к компоненту учитель можно разбить на следующие группы.
1. Обучение сети.
2. Чтение/запись учителя.
3. Инициация редактора учителя.
4. Работа с параметрами учителя.
Обучение сети
К данной группе относятся три запроса — обучить сеть (InstructNet), провести N шагов обучения (NInstructSteps) и прервать обучение (CloseInstruction).
Обучить сеть (InstructNet)
Описание запроса:
Pascal:
Function InstructNet: Logic;
C:
Logic InstructNet
Аргументов нет.
Назначение — производит обучение сети.
Описание исполнения.
1. Если Error <> 0, то выполнение запроса прекращается.
2. Если в момент получения запроса учитель не загружен, то возникает ошибка 601 — неверное имя компонента, управление передается обработчику ошибок, а обработка запроса прекращается.
3. Выполняется главная процедура загруженного учителя.
4. Если во время выполнения запроса возникает ошибка, а значение переменной Error равно нулю, то генерируется внутренняя ошибка 605 — ошибка исполнения учителя, управление передается обработчику ошибок, а обработка запроса прекращается.
5. Если во время выполнения запроса возникает ошибка, а значение переменной Error не равно нулю, то обработка запроса прекращается.