Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по Прологу.doc
Скачиваний:
68
Добавлен:
01.05.2014
Размер:
501.25 Кб
Скачать

Рекомендуемая литература

1. Д. Марселлус. Программирование экспертных систем на Турбо-Прологе. – М.: Финансы и статистика, 1994.

2. И. Братко. Программирование на языке Пролог для искусственного интеллекта. – М.: Мир, 1990.

3. А. Янсон . Турбо-Пролог в сжатом изложении. М.: Мир, 1991.

4. Дж. Малпас. Реляционный язык Пролог и его применение. М.: Наука, 1990.

5. Ц. Ин, Д. Соломон. Использование Турбо-Пролога. М.: Мир, 1993.

6. Л. Стерлинг, Э.Шапиро . Искусство программирования на языке Пролог. М.:Мир, 1990.

7. Язык Пролог в пятом поколении ЭВМ: Сб.статей 1983-1986 гг.: Пер. с англ./ Сост. Н.И. Ильинский. – М.: Мир, 1990.

8. Дж. Доорс , А. Рейблейн, С. Вадера. Пролог – язык программирования будущего. – М.: Финансы и статистика, 1990.

9. К. Кларк , Ф. Маккейб. Введение в логическое программирование на микро- Прологе. – М.: Радио и связь, 1987.

10. У. Клоксин, К. Меллиш. Программирование на языке Пролог. – М.: Мир, 1987.

11. PDC Prolog version 3.30. User’s Guide. Prolog Development Center. H.J. Holst Vej 5A, DK – 2605 Broendly, Copenhagen, Denmark.

Приложение. Варианты лабораторных работ Лабораторная работа 1. Работа с простой базой данных

Меню ресторана представляет собой небольшую базу данных, которая описана следующим образом:

закуска(артишоки).

закуска(трюфели).

закуска(салат с яйцом).

мясо(жаркое).

мясо(цыпленок табака).

рыба(окунь жареный).

рыба(судак).

десерт(мороженое).

десерт(клубника со сливками).

десерт(дыня).

Вариант 1.

1. Определить, является ли закуской а) салат с яйцом; б) салат из помидор.

2. Определить те блюда Е, которые являются закусками.

3. Определить предикат второе_блюдо(Р), если Р- мясное или рыбное блюдо. Получить список вторых блюд.

4. Определить предикат обед тройкой (Е,Р,Д), где Е – закуска, Р – второе блюдо, Д – десерт. Получить список обедов.

5. Определить обеды с блюдом из рыбы.

6. Используя предикат п.5, определить обед с рыбным блюдом и дыней на десерт.

7. Для каждого блюда добавить еще один аргумент – калорийность. Определить калорийность обеда. Получить список обедов калорийности меньше заданной.

Вариант 2.

1. Определить, является ли десертом а) мороженое; б) пирожное.

2. Определить те блюда D, которые являются десертом.

3. Определить предикат второе_блюдо(Р), если Р- мясное или рыбное блюдо. Получить список вторых блюд.

4. Определить предикат обед тройкой (Е,Р,Д), где Е – закуска, Р – второе блюдо, Д – десерт. Получить список обедов.

5. Определить обеды с блюдом из мяса.

6. Используя предикат п.5, определить обед с мясным блюдом и мороженым на десерт.

7. Для каждого блюда добавить еще один аргумент – стоимость. Определить стоимость обеда. Получить список обедов стоимости меньше заданной.

Лабораторная работа 2. Программа “Родственные отношения”

1. Составить родословную своей семьи, использовав 10-12 отношений родитель. Определить предикат пол для каждого члена семьи.

2. Определить предикаты мать, отец, дядя, тетя, кузен, дед, внук.

3. Определить рекурсивный предикат предок.

4. Оттранслируйте следующие утверждения в правила на Прологе:

а) всякий, кто имеет ребенка – счастлив;

б) всякий Х, имеющий ребенка, у которого есть сестра, имеет двух детей.

5. Определить предикат найти_тетю(Х) , выдающий информацию о наличии (отсутствии) тети у личности Х. Определить предикаты о наличии прочих родственников у личности Х.

6. Определить предикат, дающий список всех родственников личности Х. Переменную Х ввести.