Пример: Глобальная сеть INTERNET
Я ищу:
На главную  |  Добавить в избранное  

Главная/

Программирование, базы данных. /

Экспертная система

Документ 1 | Документ 2 | Документ 3 | Документ 4 | Документ 5 | Документ 6

←предыдущая следующая→
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ... 

  также  перекрываются

два метода: конструктор LOAD и  процедура  STORE,  позволяющие  теперь

сохранить в потоке, кроме коллекции значений, еще и новые поля.

    В свою очередь, значение - это потомок от  базового  объекта  всей

иерархии стандартных объектов Turbo-Vision:

                         TOBJECTДДДДДДДTVALUE

    Этот потомок отличается от своего родителя  тремя  новыми  полями:

SLOT - собственно значение (в виде строки),  MARK  -  служебное  поле,

применяющееся при создании базы правил и CON - поле-признак того,  что

данное значение является заключением.

    Такова структура базы фактов. В базу правил же записываются прави-

ла, каждое из которых представляет собой  коллекцию,  в  свою  очередь

каждый элемент которой - элемент правила. Элемент правила порожден  от

TOBJECT и имеет следующие поля и методы:

    - поле SLOT - номер помеченного в поле MARK значения;

    - поле 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 на экране.

    Ниже приводится список всех операций

←предыдущая следующая→
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ... 


Copyright © 2005—2007 «RefStore.Ru»