- •1.1. Факты
- •Вопросы или целевые утверждения
- •Переменные
- •1.4. Правила
- •1.5. Конъюнкция целевых утверждений
- •Пополнение базы знаний
- •Структура программы на языке Visual Prolog
- •Заключение
- •Пример выполнения контрольного задания
- •"Среда",14,"з").
- •Контрольные вопросы
- •Контрольные задания
- •Предметная область "Кулинария ".
- •Предметная область "Студенты группы".
- •Предметная область "Поставщики продуктов".
- •Предметная область "Оценка деятельности преподавателя". Отношения-факты:
- •Предметная область "Шахматы".
- •Предметная область "Управление троллейбусами".
- •Предметная область "Междугородные переговоры". Отношения-факты:
"Среда",14,"з").
/* Определение отношений с помощью правил */
/* определение отношения
<занята_аудитория>(<день_недели>, <время>,
<числитель/знаменатель>, <аудитория>) */
занята(D,V,Т,NA):-
расписание_занятийNA,D,V,Т).
/* определение отношения
<свободна_аудитория>(<день_недели>, <время>,
<числитель/знаменатель>, <аудитория>) */
свободна(D,V,T,NA)аудитория(NA,_,_),
not ( занята (дЭ, V, Т, NA)) .
/* определение отношения
<расписание занятий группы>(<номер группы>,
<Дисциплина>, <ФИ0 преподавателя>, <аудитория>, <день недели>, <время>, <числитель/знаменатель>) */
расписание_занятий_группь; (NG, D, Pr, Aud, De, Vr, Z)
расписание_занятий(NG, Kd, Pr, Aud,De, Vr, Z),
дисциплина(Kd,D,_).
/* определение отношения <где найти преподавателя> */
где_преподаватель(Pr,D,V,T,Na):-
расписание_занятий(_,_,Pr,Na,D,V,T).
GOAL
расписание_занятий_группы(243, D, Pr, Aud, De,Vr, Z).
Контрольные вопросы
Что такое предикат и для описания каких элементов предметной области он используется?
Что следует понимать под предметной областью?
Как описываются конкретные объекты предметной области в программе на Прологе?
Как описываются отношения предметной области в программе на Прологе?
Объясните, что такое факт.
Объясните, что такое правило.
Объясните, что такое база знаний.
Как задать вопрос, позволяющий извлечь нужную информацию из базы знаний?
Какова структура программы на Прологе?
Что такое определение отношения?
Контрольные задания
По аналогии с программой "Меню" создайте небольшую базу знаний на языке Пролог для указанной в вашем варианте предметной области (ПО). Ваша программа должна содержать не менее 10 фактов, описывающих указанные в задании отношения, двух-трех правил, выражающих типичные запросы пользователей, вами должно быть сформулировано не менее трех целевых утверждений, ответы на которые необходимо отразить в отчете. Отчет должен содержать цель работы, задание, собранные вами сведения о ПО, программу на Прологе, вопросы к базе знаний и полученные на них ответы.
Предметная область "Столицы стран разных частей света". Отношения-факты:
<столица»( <название столиц, <название государства>,
<число жителей столицы>),
<находится»(<название государства>,
<название части света>,
<площадь государства>).
Отношения-правила: в какой части света находится столица, столица государства с площадью, меньшей заданной величины, какие столицы с миллионным числом жителей находятся в данной части света и т. п.
Предметная область "Семья".
Отношения-факты:
<родитель>(<иия родителя»,<имя ребенка»),
<мужчина»(имя мужчины»),
<женщина»(<имя женщины»).
Отношения-правила: X отец Y, X мать Y, Z сестра V, U брат Z, X дед Y и т. д.
Предметная область "Мои любимые книги".
Отношения-факты:
<книга»(<имя автора», <название>, <жанр>,
<год издания», Сиздательство»,
<число страниц»).
Отношения-правила: роман X, пьеса Y, писатель Z, книги издательства, книги автора, книги определенного года издания и т. д.
Предметная область "Студенты группы".
Отношения-факты:
<студент»(<номер зачетной книжки», <ФИО>,
<группа>, Сгод рождения>,
<адрес места жительства>, <язык>).
Отношения-правила: X старше Y, студенты одной группы NG, студенты, изучающие английский язык и т. д.
Предметная область "Студенты группы".
Отношения-факты:
<студент>(<ФИО>, <группа>).
<успеваемость>(<ФИО>, <группа>, <дисциплина>, <семестр>, <оценка>).
Отношения-правила: студенты - "отличники", студенты - "хорошисты", успеваемость в группе, успеваемость по каждому предмету, изучаемые дисциплины.
Предметная область "Аптеки города".
Отношения-факты:
<аптека>(<номер>, <адрес>,<телефон>).
<лекарство>(<шифр>, <наименование>,<группа>). <аптека_имеет_лекарство>(<номер_аптеки>,
<шифр_лекарства>, <количество>, <цена>,
<срок годности>).
Отношения-правила: телефон аптеки, имеющей нужное лекарство; в какой аптеке цена на заданное лекарство меньше определенной величины; у каких лекарств превышен срок годности и т. д.
Предметная область "Кинотеатры города".
Отношения-факты:
<кинотеатр>(<код кт>, <наэвание>, <адрес>(
<телефон>, <количество мест>).
<кинофильм>(<код кф>, <наэвание>, <год выпуска>, <режиссер>, <число серий>).
<покаэываеа?> (<код кт>, <код кф>, <да*а>,
<время>, <выручка>).
Отношения-правила: телефон кинотеатра, показывающего нужный фильм; в каких кинотеатрах идут фильмы заданного режиссера и т. д.
Предметная область "Подписка на газеты и журналы в почтовом отделении".
Отношения-факты:
<издание>(<шифр>, <название>, <тип>,
Сцена 1 экз>,
<число экэ в год>).
<подписчик>(<ФИО>, <профессия>, <воэраст>, <адрес>). <подписался>(<шифр_издания>, <ФИО>, <дата_начала>, <длительность>, <стоимость>).
Отношения-правила: кто на какое издание подписан, стоимость издания, что за издание - журнал или газета и т. д.
Предметная область "Друзья".
Отношения-факты:
<личность>(<ФИО>, <адрес>, <телефон>, <хобби>,
<возраст>, <средний заработок>).
<дружат>(<ФИО>,<ФИО>).
Отношения-правила: кто с кем дружит, телефон друга, адрес друга, общие интересы у друзей, друзья, у которых можно попросить в долг и т. д.
Предметная область "Прием больных в поликлинике". Отношения-факты:
<Карта пациента>(<Номер>, <ФИО>, <адрес>, <телефон>, <возраст>, <место работы>).
<Врач>(<код врача>, <ФИО>, <специализация>).
<Прием> (<код_врача>, <номер_карты_пациента>, <дата_приема>, <диагноз>,
<назначения>, <больничный(да/нет)>).
Отношения-правила: каких врачей прошел пациент за указанный период времени, какие диагнозы были поставлены пациенту за все время наблюдения, каких пациентов принял врач в течение заданного времени, кому были выданы больничные и т. д.
Предметная область "Библиотека".
Отношения-факты:
<книга>(<шифр>, <автор>, <название>, <издательство>,
<год издания>, -«количество страниц>). <читатель>(<ФИО>, <адрес>, <телефон>,
<возраст>, <место работы>).
<учетная карточка>(<ФИО>, <шифр книги>,
<дата взятия>,
<дата возврата;-,
<факт возврата(да/нет)>).
Отношения-правила: кто взял заданную книгу, читатели-должники, какие книги читают молодые люди в возрасте от 18 до 25 лет, каких авторов предпочитает данный читатель и т. д.
Предметная область "Преподаватели кафедры ВПМ". Отношения-факты:
<сотрудник>(<код>, <ФИО>, <кафедра>, <должность>, <оклад>, <степень>, <звание>). <дисдиплина>(<шифр>, <название>, <количество часов>). <читает>(<код сотрудника>,
<шифр дисциплины>,<семестр>,
<число студентов - слушателей>).
Отношения-правила: степень и звание преподавателя, читающего данную дисциплину, телефон преподавателя кафедры, адрес преподавателя кафедры, какие дисциплины читает преподаватель в данном семестре и т. д.
Предметная область "Расписание занятий".
Отношения-факты:
<группа>(<номер>, <факультет>,
<число студентов>, <староста>).
<дисциплина>(<шифр>, <название>, <количество часов>). <аудитория>(<номер>, <тип>, <число мест>). <преподаватель>(<ФИО>, <кафедра>, <телефон>). <расписание_занятий>(<номер_группы>,
<шифр_дисциплины>,
<ФИО>, <номер_аудитории>, <день_недели>, <время>, <числитель/внаменатель>).
Отношения-правила: какие аудитории заняты в данное время, какие аудитории свободны в данное время, расписание занятий в заданное время, где находится преподаватель по расписанию, расписание занятий для заданной группы и т. д.
Предметная область "Мои любимые фильмы".
Отношения-факты:
<фильм>(<название>, <режиссер>, <год выпуска>). <артист>(<ФИО>, <звание>, <возраст>, <место работы>). <снимался>(Сназвание фильма>, <ФИО>, <герой>).
Отношения-правила: в каких фильмах снимался данный артист, возраст артистов, занятых на съемках данного фильма, кто из артистов играл в данном фильме указанного героя и какое у него звание, каких артистов предпочитает снимать заданный режиссер и т. д.
Предметная область "Контроль знаний по теме "Основные понятия языка Пролог".
Отношения-факты:
<контрольные вопросы>(<номер>, <текст>,
<уровень сложности>).
<правильные ответы>(<номер вопроса>,
<номер ответа>,
<текст ответа>,
<оценка ответа>).
<неправильные ответы>(<номер вопроса>,
<номер ответа>,
<текст>, <оценка>).
Отношения-правила должны описать контролирующую программу, и которой задаются вопросы и предлагается меню правильных и неправильных ответов, затем оценивается сделанный обучаемым выбор.
Предметная область "Стипендия студентов группы". Отношения-факты:
<студент>(<номер зачетной книжки>, <ФИО>,<группа>). <успеваемость>(Сномер з/ч книжки>,
<семестр>,<список из пяти оценок за сессию>).
Отношения-правила: кому предоставляется стипендия, размер стипендий в зависимости от успеваемости и т. д.
