Добавлен: 06.12.2023
Просмотров: 57
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Министерство образования Российской ФедерацииПензенский государственный университетКафедра «Вычислительная техника»Отчёт по лабораторной работе №2По курсу «Декларативные языки программирования»На тему «Работа с соотношениями в языке Prolog» Выполнили:Студенты группы 16ВВ1Борискин В.В.Кривошеев С.В.Принял:Бычков А.С.Пенза 2017
Вариант: 2 А2,А12,Б8,Б18,Б25,С2 Мать, дядя, троюродная сестра, двоюродная племянница, n-юродная сестра, жена.Листингparent(olga,vyacheslav).parent(vladimir,vyacheslav).parent(petr,vladimir).parent(petr,valentin).parent(ivan,petr).parent(ivan,aleksei).parent(aleksei,raya).parent(raya,galina).parent(valentin,maksim).parent(maksim,sofia).parent(alexasndr,ivan).parent(alexandr,lubov).parent(lubov,ksenia).parent(ksenia,oleg).parent(oleg,marina).wife(olga,vladimir).woman(olga).woman(raya).woman(galina).woman(sofia).woman(lubov).woman(ksenia).woman(marina).man(vladimir).man(vyacheslav).man(petr).man(ivan).man(aleksei).man(valentin).man(maksim).man(alexsandr).man(oleg).mother(X,Y):-parent(X,Y),woman(X).uncle(B,Y):-parent(X,Y),parent(Z,X),parent(Z,B),man(B).second_coustin_sister(S,Y):-parent(X,Y),parent(Z,X),parent(B,Z),parent(B,A),parent(A,C),parent(C,S),woman(S).first_coustin_niece(C,Y):-parent(X,Y),parent(Z,X),parent(Z,B),parent(B,A),parent(A,C),woman(C).four_coustin_sister(K,Y):-parent(X,Y),parent(Z,X),parent(B,Z),parent(A,B),parent(A,C),parent(C,S),parent(S,M),parent(M,K),woman(K).Граф-схема.Результат работы программы:Вывод: Изучили реляционный подход к программированию на языке Пролог, получили практические навыки работы с отношениямина языке Пролог (на примере отношений родства).
Цель работы
Изучение реляционного подхода к программированию наязыке Пролог, получение практических навыков работы с отношениямина языке Пролог (на примере отношений родства).Лабораторное задание
1. Получить задание.2. Составить базовые отношения РОДИТЕЛЬ, ЖЕНЩИНА, МУЖЧИНА,СУПРУГИ, представить полученные отношения в виде нагруженного ориентированного графа. Каждому бинарному отношению при этом будетсоответствовать свой тип дуг.3. Представить на языке Пролог базовые отношения.4. Определить в виде правил и представить на языке Пролог от-ношения родства (в соответствии со своим вариантом).5. Набрать в текстовом редакторе системы Arity Prolog (илилюбом другом текстовом редакторе) текст Пролог-программы.6. Задать Пролог-программе вопросы, касающиеся представленныхродственных отношений, следующих типов.6.1) "Находится ли субъект а в отношении R с субъектом b?"6.1.1) "Является ли субъект a родственником типа R длясубъекта b?" [вопрос типа R(a,b)].6.1.2) "Является ли субъект b родственником типа R длясубъекта a?" [вопрос типа R(b,a)].6.2) "Кто находится в отношении R с субъектом a?"6.2.1) "Найти всех субъектов, для которых a являетсяродственником типа R" [вопрос типа R(a,X)]6.2.2) "Найти всех субъектов, которые являются родственниками типа R для субъекта b" [вопрос типа R(Y,b)].6.3) "Найти все пары субъектов, находящихся в отношении R"[вопрос типа R(X,Y)].7. Проверить вручную, соответствуют ли полученные ответы ожидаемому результату.Вариант: 2 А2,А12,Б8,Б18,Б25,С2 Мать, дядя, троюродная сестра, двоюродная племянница, n-юродная сестра, жена.Листингparent(olga,vyacheslav).parent(vladimir,vyacheslav).parent(petr,vladimir).parent(petr,valentin).parent(ivan,petr).parent(ivan,aleksei).parent(aleksei,raya).parent(raya,galina).parent(valentin,maksim).parent(maksim,sofia).parent(alexasndr,ivan).parent(alexandr,lubov).parent(lubov,ksenia).parent(ksenia,oleg).parent(oleg,marina).wife(olga,vladimir).woman(olga).woman(raya).woman(galina).woman(sofia).woman(lubov).woman(ksenia).woman(marina).man(vladimir).man(vyacheslav).man(petr).man(ivan).man(aleksei).man(valentin).man(maksim).man(alexsandr).man(oleg).mother(X,Y):-parent(X,Y),woman(X).uncle(B,Y):-parent(X,Y),parent(Z,X),parent(Z,B),man(B).second_coustin_sister(S,Y):-parent(X,Y),parent(Z,X),parent(B,Z),parent(B,A),parent(A,C),parent(C,S),woman(S).first_coustin_niece(C,Y):-parent(X,Y),parent(Z,X),parent(Z,B),parent(B,A),parent(A,C),woman(C).four_coustin_sister(K,Y):-parent(X,Y),parent(Z,X),parent(B,Z),parent(A,B),parent(A,C),parent(C,S),parent(S,M),parent(M,K),woman(K).Граф-схема.Результат работы программы:Вывод: Изучили реляционный подход к программированию на языке Пролог, получили практические навыки работы с отношениямина языке Пролог (на примере отношений родства).