Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ФиЛП_материалы / Материалы / Prolog / ЛаборПролог.doc
Скачиваний:
31
Добавлен:
01.06.2015
Размер:
84.48 Кб
Скачать

Лабораторные работы по ЛП

Лабораторная работа №1 Построение информационно- справочных систем

При выполнении работы студенты должны разобраться с механизмом работы Пролога на примере создания простых информационно–справочных систем (ИСС).

Пример. Требуется осуществить подбор автомобиля, описанного 4 атрибутами: маркой, цветом, ценой, годом выпуска, по вводимым с клавиатуры 2 критериям - году выпуска и цене.

Назначение предикатов:

автомобиль (марка, цвет, цена, год_выпуска)используется для определения фактов, описывающих характеристики автомобилей, информация о которых содержится в базе;

startцель программы. Формирует запрос и организует общий вычислительный процесс.

DOMAINS

модель=string

цвет=symbol

цена=real

год_выпуска=integer

PREDICATES

автомобиль(модель, цвет, цена, год_выпуска)

start

CLAUSES

автомобиль("Ассеnt",красный,330000, 2002).

автомобиль("Ford Focus",зеленый,480000,2003).

автомобиль("Волга 3110",зеленый,180000, 2002).

автомобиль("ВАЗ 2199",голубой,220000, 2002).

автомобиль("ВАЗ 2110",красный,240000,2003).

автомобиль("Sonata",белый,520000, 2005).

start:-write(" Критерии для поиска"),nl,

write("Введите верхнюю границу цены – "),readreal(MyPrice),

write("Введите нижнюю границу года выпуска – "),readint(MyYear),

автомобиль(Name,Color,Price,Year), Price<MyPrice, Year>MyYear,

nl, write(Name),nl, write(Color), nl;

write("Автомобиля с такими параметрами нет!"), nl.

GOAL

start.

Объяснение решения этой задачи приводится в файле «Интерфейс VisualProlog»

Варианты заданий

В перечисленных ниже вариантах среди заданных атрибутов выберите не менее 2-х для поиска. Количество фактов в БД – не менее 10. Постарайтесь создать программу с выводом всех вариантов ответа, а не одного, как в примере. С этой целью разберитесь с контрольным вопросом № 5.

1. Создать ИСС, которая подскажет породу собак по заданным признакам. Атрибуты: служебные или охотничьи, короткая или длинная шерсть, вес, рост, длинные или короткие уши и т.д.

2. Создать ИСС для выбора типа самолета. Атрибуты: военный или гражданский, грузовой или пассажирский, грузоподъемность, высота подъема, скорость, тип двигателя и т.д.

3. Создать ИСС для выбора названия монографии по программированию. Атрибуты: системное или прикладное, описание утилит, описание языков программирования, справочное или подробное описание, год выпуска и т.д.

4. Создать ИСС для определения типа морского судна. Атрибуты: военное, грузовое или пассажирское, назначение, водоизмещение, скорость и т.д.

5. Создать ИСС для выбора компьютера. Атрибуты: тип( сервер, рабочая станция), память, процессор, стоимость и т.д.

6. Создать ИСС, описывающую результат сдачи сессии студенческой группой и определяющую, например, предметы, по которым получены удовлетворительные и неудовлетворительные оценки.

7. Создать ИСС для работников страховой компании, перечисляющую клиентов, которые должны сделать очередной взнос. Атрибуты: дата страховки, номер страхового свидетельства, предмет страховки, сумма страховки, дата и сумма очередного взноса.

8. Создать ИСС, позволяющую получить список, например, птенцов водоплавающих птиц (до 3 мес.) в зоопарке. Атрибуты: млекопитающее, птица, порода, возраст.

9. Создать ИСС, позволяющую выбрать заболевания по набору 2 симптомов. Атрибуты: температура, боль в горле, повышенное давление, учащенный пульс и т.п.

10. Создать ИСС, выдающую сведения о лучших фильмах года в заданном жанре(комедия, триллер, фантастика и т.п.). Атрибуты: название, жанр, режиссер, сценарист, год выпуска, киностудия, страна - производитель.

11. Создать ИСС, позволяющую получить рекомендации по выбору страны и университета для продолжения учебы за границей по избранной специальности на следующем курсе. Атрибуты: страна, университет, специальность, курс, стоимость обучения, условия проживания и т.д.

12. Создать ИСС риэлтерской фирмы, выдающую клиенту список адресов продаваемых квартир по заданным площади и стоимости.

Контрольные вопросы:

1.Заданы следующие факты и правило

a(n1,n2).

a(n3,n4).

b(n5).

b(n6).

с:- a(X,Y), b(X).

Возможно ли доказательство цели c и как по шагам оно выполняется? Если доказательство невозможно, то что надо изменить или добавить в программе?

2. Что содержит каждый раздел программы на Visual Prolog?

3. Для чего используется символ «;» в правиле start?

4. После предиката “write(Color)” и перед символом “;” в тело правила start вставляется заведомо ложный предикат, например, 3>5. Как изменится вывод? Почему?

Соседние файлы в папке Prolog