Лабораторная работа 1 1

  • 21 апр. 2016 г.
  • 394 Слова
Лабораторная работа №1
Введение в логическое программирование
Цель работы
1. Познакомиться со средой программирования Visual Prolog. Реализовать простейшую логическую программу.
2. Описать заданнуюпредметную область на языке Пролог.
Порядок работы
1. Составить логическую программу, иллюстрирующую правило вывода modus ponens.
1.1. Запустить Visual Prolog (vip.exe).
1.2. Создать новый файл(File – New).
1.3. Записать логическую программу, позволяющую определить, смертен ли Сократ.
1.4. Запустить программу на выполнение (Ctrl+G или кнопка G на панели управления ). Ответ: yes.
2. Заданапредметная область – «Родственники». Требуется описать предметную область средствами языка Пролог.
2.1. Изобразить в виде схемы своё родословное дерево (должно включать не менее 8 родственников). Например,2.2. Описать своё дерево с помощью фактов
man(X) (Х – мужчина)
woman(X) (X – женщина)
parent(X,Y) (X – родитель Y)
Необходимо перечислить всех мужчин и женщин, а также все пары родитель-ребёнок.Например, man(john) и т.д., woman(jennifer) и т. д., parent(john, claudia), parent(jennifer, claudia) и т. д.

2.3. Определить с помощью правил следующие более сложные отношения:
mother(X,Y) (Х –мать Y)
father(X,Y) (Х – отец Y)
child(X,Y,Z) (Х – ребёнок Y и Z )
son(X,Y,Z) (Х – сын Y и Z )
daughter(X,Y,Z) (Х – дочь Y и Z )
sisterbrother(X,Y) (Х – сестра или брат Y)
cousins(X,Y) {Хдвоюродная сестра или брат Y}
grandmother(X,Y) (Х – бабушка Y)
grandfather(X,Y) (Х – дедушка Y)
aunt(X,Y) (Х – тётя Y)
happy(X) (Х счастлив, если имеет по крайней мере двух детей)mother_in_law(X,Y) (Х – тёща Y)

Например, mother(X,Y) :– woman(X), parent(X,Y). (Х – мать Y, если Х женщина и Х – родитель Y)
При этом можно использовать уже введенные факты man(X), woman(X), parent(X,Y) или ужепостроенные правила.

2.4. “Спросить” у Пролога (подставить свои имена):
Отцом Ringo является Pol?
Чей ребёнок Britney?
Найти все пары тёща + зять.
Кто является бабушкой?
Есть ли у Naomi...
tracking img