Реферат: Искуственный интеллект
- поле CON - поле-метка для определения предпосылки или заключе-
ния;
- метод LOAD - конструктор для загрузки данного объекта из потока;
- метод STORE - процедура для сохранения объекта в потоке.
Следует отметить, что каждый из этих объектов имеет методы LOAD и
STORE, поскольку предполагается, что БЗ будет сохранена в файле ресур-
сов, который представляет собой индексированный поток (поток с произ-
вольным доступом к объектам по ключам).
3.3. Программная реализация составных частей системы
3.3.1. Реализация интерфейса системы и СУБЗ
Интерфейс системы создается следующим образом. Объявляется объект
TEXPERT - потомок от стандартного объекта из библиотеки Turbo-Vision
TAPPLICATION, в котором уже содержатся такие необходимые компоненты
любой программы (приложения), как вывод строк меню и статуса, рабочей
поверхности, поддержка мыши и команды "Выход". Потомок перекрывает та-
кие методы TAPPLICATION, как INITSTATUSLINE для создания собственной
строки статуса, INITMENUBAR - для создания собственной строки "выпада-
ющих" меню, RUN - для вывода на рабочую поверхность окна банка знаний
и установки новой палитры, INIT - для подключения к системе ресурсов
(то есть инициализации файлов EXPERT.AIR и EXPERT.BLC) и регистрации
объектов в этих ресурсах, HANDLEEVENT - для обработки нестандартных
команд.
Главное (верхнее) меню системы имеет следующую структуру (см.рис.
1).
СИСТЕМА БАЗА
┌─────────────┐ ┌──────────────┐
│ ПАУЗА │ │ ОТКРЫТЬ │
│ MS-DOS │ │ НОВАЯ │
│ О ПРОГРАММЕ │ │ ПЕРЕИМЕНОВАТЬ│
│ ВЫХОД │ │ РЕДАКТИРОВАТЬ│
└─────────────┘ │ УДАЛИТЬ │
└──────────────┘
ОКНА СЕРВИС
┌────────────┐ ┌─────────────┐
│ РАСПАХНУТЬ │ │ ПАРОЛЬ │
│ ДВИЖЕНИЕ │ │ КАЛЕНДАРЬ │
│ ЗАКРЫТЬ │ │ КАЛЬКУЛЯТОР │
│ СЛЕДУЮЩЕЕ │ │ ИГРА │
│ ПРЕДЫДУЩЕЕ │ └─────────────┘
└────────────┘
Рисунок 1. Структура меню "Консультанта"
Меню СИСТЕМА содержит наиболее общие опции работы в системе, БАЗА
- операции управления базами знаний, ОКНА - операции над окнами, нахо-
дящимися на рабочей поверхности, СЕРВИС - некоторые инструментальные
средства, упрощающие работу пользователя в системе. Каждая операция
меню программно связана с командой, которая затем обрабатывается в ме-
тоде HANDLEEVENT. Так, например, операция НОВАЯ связана с командой
CMNEW. Процедура - обработчик событий HANDLEEVENT содержит строку:
... CMNEW:NEWBASE ... ,
которая означает, что при поступлении этой команды (событие - вы-
бор операции подсвеченной полосой или двойной щелчок "мышью") обработ-
чик запускает процедуру с именем NEWBASE, которая вызывает из файла
ресурсов окно создания базы (объект TNEWWINDOW), считывает из строки
ввода введенное имя базы, записывает его в файл EXPERT.BLC, создает
на диске новый файл с расширением "PRO", связывает его имя с именем
базы и затем уничтожает окно TNEWWINDOW на экране.
Ниже приводится список всех операций, и, минуя команды, процеду-
ры, с которыми связаны эти операции через обработчик событий:
- ПАУЗА, процедура PAUSE (осуществляет гашение экрана на время от-
лучения пользователя);
- MS-DOS, процедура DOSCALL (осуществляет временный выход в DOS и
возврат в систему по команде EXIT);
- О ПРОГРАММЕ, процедура ABOUT (вызывает из файла ресурсов окно с
краткими сведениями о данной программе);
- ВЫХОД, стандартная команда Turbo-Vision;
- ОТКРЫТЬ, процедура OPENBASE (ищет на диске файл, связанный с
именем выбранной для открытия (работы) базы, извлекает из файла базу
знаний и вызывает основную процедуру машины вывода OUTPUTMACHINE из
файла EXPERT.OVR);
- НОВАЯ, см. выше;
- ПЕРЕИМЕНОВАТЬ, процедура RENAMEBASE (удаляет имя активной базы
из списка баз файла EXPERT.BLC, извлекает из файла ресурсов окно пере-
именования, считывает из строки ввода окна новое имя, записывает его
в EXPERT.BLC и связывает это имя с базой);
- РЕДАКТИРОВАТЬ, процедура EDITING (для активной базы считывает
из из файла ресурсов диалоговое окно установок редактора, запрещает
все команды пользователя до получения установок из данного окна или
команды на его отмену);
- УДАЛИТЬ, процедура ERASEBASE (после второго подверждения пользо-
вателя о его окончательном решении удаляет имя активной базы из спис-
ка имен баз файла EXPERT.BLC, затем уничтожает связанный с этим име-
нем файл БЗ на диске);
- операции меню ОКНА, стандартные процедуры работы с окнами библи-
отеки Turbo-Vision;
- ПАРОЛЬ, процедура PAROLE (устанавливает на выбранную базу па-
роль для защиты ее от других пользователей;
- КАЛЕНДАРЬ, процедура EXPCALEND (вызывает из файла ресурсов окно
календаря);
- КАЛЬКУЛЯТОР, процедура EXPCALC (извлекает из файла ресурсов ок-
но калькулятора);
- ИГРА, процедура EXPGAME (выводит окно игры-головоломки на эк-
ран, предварительно считав его из файла ресурсов системы EXPERT.AIR).
Все данные процедуры инкапсулированы в объект TEXPERT, то есть
объявлены как его методы.
В строке статуса содержатся наиболее часто используемые команды
(операции) и их "горячие" клавиши. Описание этих команд приводится вы-
ше, исключение составляет команда МЕНЮ, активизирующая строку верхне-
го меню - это стандартная команда Turbo-Vision.
Рабочая поверхность представляет собой окно со списком имен БЗ, в
котором одна в данный момент времени активна. На экран окно выводится
процедурой DRAWBANKLIST, которая вызывается непосредственно из проце-
дуры TEXPERT.RUN и, в свою очередь, вызывает из файла ресурсов окно
банка знаний, вставляет в него список имен БЗ из файла EXPERT.BLC.
Таблица 5.
Новые или перекрытые методы объекта TEXPERT
┌─────────────────────────┬──────────────────────────────────────────┐
│ Метод │ Назначение метода │
├─────────────────────────┼──────────────────────────────────────────┤
│INIT │Вывод оболочки системы на экран, иницииро-│
│ │вание файлов EXPERT.AIR и EXPERT.BLC, ре- │
│ │гистрирование объектов этих файлов,наст- │
│ │ройка оверлейного файла,установка палитры.│
│ │ │
│INITSTATUSLINE │Вывод на экран новой строки статуса. │
│ │ │
│INITMENUBAR │Вывод на экран новой строки верхнего меню.│
│ │ │
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17