![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 13.11.2014
Сообщений: 15
|
![]()
Всем привет написала вот такую задачку, вроде все правильно, все работает, но преподаватель сказал поправить Шурина..Но я сижу и не понимаю что с ним не так.. можете кто нибудь пожалуйста проверить правильность программы, заранее большое спасибо!
Условие задачи: Используя предикаты parent(symbol,symbol), man(symbol), woman(symbol), married(symbol,symbol), записать факты, описывающие вашу семью. Записать 8 правил вывода для любых родственных отношений в вашей семье (например: мать, отец, сестра, брат, племянница, племянник, тетя, дядя, внучка, внук, бабушка, дедушка, двоюродная сестра, двоюродный брат и т.д.). Текст: parent("Alexandr","Olya"). parent("Masha","Olya"). parent("Alexandr","Alina"). parent("Masha","Alina"). parent("Alexandr","Leha"). parent("Masha","Leha"). parent("Leha","Gleb"). parent("Dasha","Gleb"). parent("Alina","Maks"). parent("Leha","Maks"). man("Alexandr"). man("Leha"). man("Pavel"). man("Dima"). woman("Olya"). woman("Alina"). woman("Masha"). married("Masha","Pavel"). married("Alina","Dima"). father(X,Y):-parent(X,Y),man(X),!. mother(X,Y):-parent(X,Y),woman(X),!. sister(X,Y):-parent(Z,X),parent(Z,Y),woman(X), X\=Y,!. brother(X,Y):-parent(Z,Y),parent(Z,X),man(X), X\=Y,!. son(X,Y):-parent(X,Y),man(Y),!. daughter(X,Y):-parent(X,Y),woman(Y),!. wife(X,Y):-married(X,Y), woman(X),!. husband(X,Y):-married(X,Y),man(Y),!. shurin(X,Y):-man(Y),married(Z,Y),brother(X,Z),!. tesha(X,Y):-married(Z,Y),mother(X,Z),!. dyadya(X,Y):-parent(Z,Y),brother(X,Z),!. ?-father(X,"Olya"),write(X),write(" "). ?-mother(X,"Alina"),write(X),write(" "). ?-married("Alina","Dima"),write(" "). ?-husband("Masha",Y),write(Y),write(" "). ?-wife(X,"Pavel"),write(X),write(" "). ?-sister("Olya","Alina"),write(" "). ?-shurin(X,"Dima"),write(X),write(" "). ?-tesha(X,"Dima"),write(X),write(" "). ?-dyadya(X,"Maks"),write(X),write(" "). |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
помогите пожалуйста перенести программу написанную в Prolog в Strawberry prolog | Олямбан | Помощь студентам | 1 | 14.11.2015 19:51 |
Любопытные факты | Utkin | Свободное общение | 177 | 21.10.2015 11:08 |
Дискретная математика, предикаты... | manchester_alan | Помощь студентам | 1 | 20.06.2015 17:02 |
Предикаты | _-Re@l-_ | Общие вопросы C/C++ | 11 | 04.07.2011 08:13 |
Предикаты | Bernuar | Помощь студентам | 0 | 06.04.2010 09:26 |