Лабораторная работа № 1 по дисциплине: «Интеллектуальные информационные системы» на тему: «Простейшая программа на языке Пролог. Laboratornaya_1_IIS_66-20 Соловьев Г.А.. Простейшая программа на языке Пролог
Скачать 50.57 Kb.
|
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Национальный исследовательский университет «МЭИ» Кафедра безопасности и информационных технологий Лабораторная работа № 1 по дисциплине: «Интеллектуальные информационные системы» на тему: «Простейшая программа на языке Пролог». Выполнил(а): Соловьев Г.А. студент(ка) 2-го курса заочной формы обучения группы ИЭзс-66-20 Москва 2022 Описать с помощью фактов 4-уровневовое генеалогическое дерево в Пролог – программе “Родственники”, включающей предикаты parent и person. person('Николай',m). person('Нина',f). person('Юрий',m). person('Регина',f). person('Константин',m). person('Кира',f). person('Оксана',f). person('Юлия',f). person('Вячеслав',m). person('Антон',m). person('Егор',m). person('Вера',f). parent('Нина','Юрий'). parent('Николай','Юрий'). parent('Регина','Вячеслав'). parent('Юрий','Вячеслав'). parent('Константин','Оксана'). parent('Кира','Оксана'). parent('Константин','Юлия'). parent('Кира','Юлия'). parent('Юлия','Вера'). parent('Вячеслав','Вера'). parent('Оксана','Егор'). parent('Антон','Егор'). Написать правила, определяющие следующие отношения: “X является отцом Y” . father(X,Y):- person(X,m), parent(X,Y). “X является бабушкой Y” . grandmother(X,Y):- person(X,f), parent(X,Z), parent(Z,Y). “X является сестрой Y” . sister(X,Y):- person(X,f), father(M,Y), father(M,X), X\=Y. “X является племянником Y” . nephew(X,Y):- person(X, m), grandmother(M,X), parent(M,Z), parent(M,Y), parent(Z,X), Y\=Z. “X является племянницей Y” . niece(X,Y):- person(X,f), grandmother(M,X), parent(M,Z), parent(M,Y), parent(Z,X), Y\=Z.“ X является родителем родителя Y” . parents_parent(X,Y):- parent(X,Z), parent(Z,Y). “X является прадедушкой Y” . great_grandfather(X,Y):- person(X,m), parents_parent(Z,Y), parent(X,Z). “X является двоюродным братом Y” . cousin_brother(X,Y):- person(X,m), nephew(X,Q), parent(Q,Y). Тестирование программы 1) father(X,Y). 2) grandmother(X,Y). 3) sister(X,Y). 4) nephew(X,Y). 5) niece(X,Y). 6) parents_parent(X,Y). 7) great_grandfather(X,Y). cousin_brother(X,Y). |