3.4.1. Основы создания информационных систем в Visual Prolog
Известно несколько версий реализации данного языка ПРОЛОГ на персональных ЭВМ. Наиболее удачными реализациями компилятора являются следующие две версии Turbo Prolog фирмы Borland Inc и Visual Prolog (VIP) фирмы PDC. Последняя версия реализуют графический интерфейс пользователя и предназначена для работы в современных операционных системах, таких как Windows 2000/XP. В пособие рассматривается версия Visual Prolog 5.2.
При разработке программы в VIP В разделе предикатов приводится описание всех предикатов создаваемой программы. предикаты в общем виде задаются как:
p(arg1 [rem1],arg2 [rem2],…)
Здесь:
p – наименование предиката;
arg – наименование аргумента предиката ;
rem – строка символов, комментарий предиката, может отсутствовать.
Аргумент предиката – условное обозначение домена, из которого может принимать значение переменная или константа предметной области программы. Допускается указывать напрямую имена доменов, в этом случае раздел доменов в программе может отсутствовать. Допускается так же наличие предикатов, не содержащих аргументов. Обычно такие предикаты используются для программирования правил.
Формализованное описание предметной области программы приводится в разделе фактов. Раздел содержит факты и правила, формирующие базу знаний системы. Факты и правила заканчиваются символом «.».
В целевом разделе программы записывается целевой предикат, который должен быть обработан процессором логического вывода системы программирования VIP. Цель может состоять из отдельных подцелей объединенных логическими связками «И» – «,» , либо «ИЛИ» – «;».
Программа – проект. Наиболее простой вариант проекта – проект для работы с утилитой TestGoal, которая является подсистемой среды разработки. Процесс разработки такой программы приводится в приложении № 2, базовые сведения по языку программирования VIP приводятся в приложении № 1.
Пример программы. Составить программу для поиска фирмы и количества поставленного товара по запросу пользователя.
domains
firma=string
kol_vo=integer
predicates
postavleno(firma,kol_vo)
poisk
clauses
%факты поставки товара
postavleno("АО ИСТРА",10).
postavleno("АО ВОСТОК",20).
postavleno("АО ИВОЛГА",100).
%Правило поиска фирмы
poisk:-
write("Введите фирму "),readln(Firma),
postavleno(Firma,Kol),
writef("\n%-20\t%-20",Firma,Kol),nl.
goal
poisk.
Рис.3.3. Вывод программы.
Вывод программы показан на рисунке 3.3. Раздел предикатов можно упростить, тогда раздел доменов программы нужно убрать:
predicates
postavleno(string firma,integer kol_vo)
При обработке целевого утверждения раздела goal процессор логического вывода стремится найти решение, которое ему соответствует.
При этом нужно учитывать ряд особенностей описания предметной области и процесса поиска решения.
Создание описания предметной области в разделе clauses строится на основе предикатов, которые могут как детерминированными, так и не детерминированными. Предикаты первого типа позволяют получить только одно решение, предикаты второго типа позволяют получать множество решений. Обычно программы – информационные системы содержат предикаты второго типа, что задается в настройках компилятора параметр Default Predicate Type (см приложение).
Набор фактов для конкретного предиката образует процедуру.
Пример. Рассмотрим программу для вывода информации о руководителях отделов.
predicates
rukovodit(string f_i_o,string otdel)
vyvod
clauses
%Процедура предиката
rukovodit("Иванов И.С", "склад").
rukovodit("Петров О.И ", "сбыт").
rukovodit(Lico, "маркетинг"):-
rukovodit(Lico, "сбыт").
%Конец процедуры
vyvod:-
rukovodit(Rukov,Otdel),write(Rukov,"\t",Otdel),nl.
goal
vyvod.
Предметная область содержит предикат rukovodit, который является не детерминированным. При использовании правила вывода vyvod будет получено только одно решение см. рисунок 3.4.
Рис.3.4. Обработка правила вывода.
- Основы построения автоматизированных информационных систем
- Глава 1. Системный подход при разработке автоматизированных информационных систем
- 1.1. Общие положения
- 1.2. Автоматизированные информационные системы
- 1.3. Автоматизированные системы в управлении
- 1.4. Методы анализа автоматизированных информационных систем
- 1.5. Структура автоматизированной информационной системы
- Глава 2. Методы проектирования информационных систем
- 2.1. Обобщенная модель информационной системы и методы проектирования
- 2.2. Каноническое проектирование информационных систем
- 2.3. Управление требованиями, спецификация rup
- 2.4. Модели жизненного цикла информационной системы
- 2.5. Использование case технологий при разработке информационных систем
- 2.6. Методологии case проектирования
- 2.6.1. Методология datarun
- 2.6.2. Методология rad
- 2.6.3. Графические нотации
- 2.7. Системные методологии анализа
- 2.7.1. Методология aris
- 2.7.2. Методология baan
- 2.7.3. Методология Oracle
- 2.7.4. Методология Betec (©)
- Глава 3. Особенности современных информационных систем
- 3.1. Корпоративные информационные системы
- 3.2. Системы обработки транзакций
- 3.3. Системы поддержки принятия решения
- 3.4. Экспертные информационные системы
- 3.4.1. Основы создания информационных систем в Visual Prolog
- 3.4.2. Управления поиском решения в vip
- 3.4.3 Использование рекурсии
- 3.4.4. Управление потоком ввода–вывода
- 3.4.5. Особенности составления описания предметной области
- 3.4.6. Особенности работы с базой фактов
- 3.5. Объектно–ориентированные системы
- 3.6. Документальные системы
- 3.6.1. Информационно-поисковый язык
- 3.6.2. Структра поисковой системы
- 3.7. Гипертекстовые информационные системы
- 4. Управление процессом проектирования автоматизированной информационной системы
- 4.1. Методы управления качеством разработки аис
- 4.2. Оценка эффективности функционирования автоматизированных информационных систем
- 4.2.1. Экономическая эффективность
- 4.2.2. Производительность вычислительной системы
- 4.2.3. Оценка качества работы пользователя системы
- Приложения Приложение №1. Базовые сведения о языке программирования Visual Prolog
- Приложение №.2. Компилирование программ в Visual Prolog ver 5.2.
- Приложение №.3. Программа «Внутренняя база данных фактов»
- Приложение №.4. Программа «Внешняя база данных»
- Приложение №5.Некоторые стилевые параметры
- Список литературы