Чтение онлайн

ЖАНРЫ

Учебное пособие по курсу «Нейроинформатика»

Миркес Е. М.

Шрифт:

Назначение — удаляет из памяти ранее считанный задачник.

Описание исполнения.

1. Если Error <> 0, то выполнение запроса прекращается.

2. Если есть открытые сеансы, то возникает ошибка 105 — закрытие задачника при открытых сеансах. Управление передается обработчику ошибок. Выполнение запроса прекращается.

3. Задачник закрывается. Запрос успешно завершается.

Начало и конец сеанса

К этой группе запросов относятся два запроса, открывающие и закрывающие сеансы работы с задачником.

Начало
сеанса (InitSession)

Описание запроса:

Pascal:

Function InitSession(NewColor: Color; Oper: Integer; Var Handle: Integer): Logic;

C:

Logic InitSession(Color NewColor, Integer Oper, Integer* Handle)

Описание аргументов:

NewColor — цвет для отбора примеров задачника в текущую выборку.

Oper — операция для отбора в текущую выборку. Должна быть одной из констант CEqual, CIn, CInclude, Cxclude, CIntersect

Handle — номер сеанса. Начальное значение не важно. В этом аргументе возвращается номер сеанса.

Назначение — начинает сеанс. Отбирает текущую выборку.

Описание исполнения.

1. Если Error <> 0, то выполнение запроса прекращается.

2. Если аргумент Oper является недопустимым, то возникает ошибка 106 — недопустимый код операции при открытии сеанса, управление передается обработчику ошибок. Сеанс не открывается. Возвращается значение ложь.

3. Создается новый сеанс (в одно-сеансовых задачниках просто инициируется сеанс). Номер сеанса заносится в аргумент Handle.

4. Значения аргументов NewColor и Oper сохраняются во внутренних переменных задачника

5. Указателю текущего примера присваивается состояние «до первого примера»

6. InitSession:= Next(Handle) — результат выполнения запроса совпадает с результатом выполнения вызванного запроса «Следующий пример».

Конец сеанса (EndSession)

Описание запроса:

Pascal:

Procedure EndSession(Handle: Integer);

C:

void EndSession(Integer Handle)

Назначение — закрывает сеанс.

Описание аргументов:

Handle — номер сеанса.

Описание исполнения.

1. Если Error <> 0, то выполнение запроса прекращается.

2. Если аргумент Handle некорректен возникает ошибка 107 — неверный номер сеанса. Управление передается обработчику ошибок. Выполнение запроса прекращается.

3. Освобождается вся память, взятая для выполнения сеанса. После этого сеанс завершается.

Перемещение по примерам

В эту группу запросов входят запросы позволяющие управлять положением текущего указателя в текущей выборке.

В начало (Home)

Описание запроса:

Pascal:

Function Номе(Handle: Integer): Logic;

C:

Logic Номе(Integer Handle)

Описание аргументов:

Handle — номер сеанса.

Назначение — делает текущим первый пример текущей выборки.

Описание исполнения.

1. Если Error <> 0, то выполнение

запроса прекращается.

2. Если аргумент Handle некорректен возникает ошибка 107 — неверный номер сеанса. Управление передается обработчику ошибок. Выполнение запроса прекращается.

3. Указателю на текущий пример присваивается значение «до первого примера»

4. Home:= Next(Handle) — результат выполнения запроса совпадает с результатом выполнения вызванного запроса «Следующий»

В конец (End)

Описание запроса:

Pascal:

Function End(Handle: Integer): Logic;

C:

Logic End(Integer Handle)

Описание аргументов:

Handle — номер сеанса.

Назначение — делает текущим последний пример текущей выборки.

Описание исполнения.

1. Если Error <> 0, то выполнение запроса прекращается.

2. Если аргумент Handle некорректен возникает ошибка 107 — неверный номер сеанса. Управление передается обработчику ошибок. Выполнение запроса прекращается.

3. Указателю на текущий пример присваивается значение «после последнего примера»

4. Home:= Prev(Handle) — результат выполнения запроса совпадает с результатом выполнения вызванного запроса «Предыдущий»

Следующий (Next)

Описание запроса:

Pascal:

Function Next(Handle: Integer): Logic;

C:

Logic Next(Integer Handle)

Описание аргументов:

Handle — номер сеанса.

Назначение — делает текущим следующий пример текущей выборки.

Описание исполнения.

Если Error <> 0, то выполнение запроса прекращается.

1. Если аргумент Handle некорректен возникает ошибка 107 — неверный номер сеанса. Управление передается обработчику ошибок. Выполнение запроса прекращается.

2. Если значение указателя равно «после последнего примера», то возникает ошибка 108 — переход за конечную границу текущей выборки, и управление передается обработчику ошибок. В случае возврата управления в запрос, происходит немедленный выход из запроса с возвращением значения ложь.

3. Если значение указателя текущего примера равно «до первого примера», то присваиваем указателю адрес первого примера задачника. Если адрес в переменной в задачнике нет примеров, то возникает ошибка 108 — переход за конечную границу текущей выборки, и управление передается обработчику ошибок. В случае возврата управления в запрос, происходит немедленный выход из запроса с возвращением значения ложь. В противном случае переходим к шагу 6

4. Указатель перемещается на следующий пример задачника. Если следующего примера задачника нет, то указателю присваивается значение «после последнего примера».

5. Переходим к шагу 5, если не верно условие: NewColo) And Last, NewColor — аргументы запроса InitSession, которым был открыт данный сеанс.

6. Next:= Not Last (Переход к следующему примеру завершился удачно, если указатель не установлен в значение «после последнего примера»).

Предыдущий (Prev)

Описание запроса:

Поделиться с друзьями: