1. Запустите интерпретатор Пролога. Воспользуйтесь командой “ consult ” для того, чтобы в диалоговом режиме ввести несколько фраз со сведениями о вашей семье, либо со сведениями из какой-нибудь другой прикладной области, с которой вы хорошо знакомы. Придумайте запросы к этим фразам, используйте в этих запросах и константы и переменные.
2. Воспользуйтесь редактором для создания текстового файла под названием “ путешествие ”. Внесите в этот файл приведенные выше факты “ путешествие ” и процедуру “ можно_путешествовать ”. Напишите запрос, в котором выясняется возможность путешествия из Белгорода в Брянск. Добавьте в программу правило, которое бы описывало возможность обратного путешествия.
3. Создайте рекурсивную процедуру “ можно_путешествовать ”. Напишите запрос, в котором выясняется возможность путешествия из Губкина в Дятьково.
4. Составить отчет о проделанной работе.
Контрольные задания
1.Родственные отношения.
Кроме родственных отношений parent (родитель) и ancestor (предок) программа должна содержать хотя бы одно из следующих отношений:
|
|
1.1) brother (брат);
1.2) sister (сестра);
1.3) grand-father (дедушка);
1.4) grand-mother (бабушка);
1.5) uncle (дядя);
2. Ориентированные графы.
Описать граф. Задать отношения, позволяющие определить наличие в графе:
2.1) путей между произвольной парой вершин;
2.2) многоугольников с заданным числом сторон (например, четырехугольников).
3.Отношения likes (" нравится ") и can_buy (" может купить ").
Описать указанные отношения для следующих комбинаций " субъекты - предметы ":
3.1) субъекты - фрукты;
3.2) субъекты - марки автомобилей;
3.3) субъекты - фильмы;
3.4) субъекты - книги.
4. Диагностика неисправностей
4.1) в телевизоре
4.2) в автомобиле
4.3) в компьютере
5. Описать предметные области:
5.1) торговый бизнес
5.2) спортивный магазин
5.3) аптека
5.4) библиотека
Лабораторная работа № 2
Арифметика. Структуры данных
Цель работы: о знакомиться со встроенными предикатами, предназначенными для вычисления арифметических выражений, а также с реализацией списков и бинарных деревьев в языке Пролог.
Основные понятия
В языке Пролог имеется ряд встроенных предикатов, предназначенных для вычисления арифметических выражений, выполнения арифметических сравнений. Обозначение операции записывается между аргументами без употребления скобок.
Предикат “ is ” (есть), предназначен для унификации первого аргумента и результата вычисления второго аргумента.
Пример 1.
?- X is 3, Y is (5*X)/2.
X = 3
Y = 7;
нет