Тема: Turbo Prolog
Показать сообщение отдельно
Старый 21.10.2011, 02:39   #1 (permalink)
maria_007
Новичок
 
Регистрация: 21.10.2011
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Exclamation Turbo Prolog

здравствуйте.
помогите пожалуйста найти ошибку в задаче.
вот описание задания:

Известна система родственных связей с отношением РОДИТЕЛЬ.
Имена в ней не повторяются. Разработать программу логического
вывода, позволяющую определить, кто кому приходится отцом,
матерью, братом, сестрой, дядей, тетей, дедушкой, бабушкой.

а вот код программы:


domains
name=symbol.
predicates
woman(name)
man(name)
parent(name,name)
father(name,name)
mother(name,name)
grandfather(name,name)
grandmother(name,name)
brother(name,name)
sister(name,name)
uncle(name,name)
aunt(name,name)
son(name,name)
grandson(name,name)
daughter(name,name)
granddaughter(name,name)
clauses
parent(alexandr,vasya).
parent(alexandr,natasha).
parent(alexey,denis).
parent(viktor,alexandr).
parent(viktor,olga).
parent(viktor,kirill).
parent(sveta,alexey).

woman(sveta).
woman(olga).
woman(natasha).

man(viktor).
man(alexandr).
man(alexey).
man(vasya).
man(denis).
man(kirill).

mother(X,Y):-parent(X,Y),woman(X).
father(X,Y):-parent(X,Y),man(X).

grandmother(X,Z):-parent(X,Y),parent(Y,Z),woman(X).
grandfather(X,Z):-parent(X,Y),parent(Y,Z),man(X).

brother(X,Y):-parent(Z,X),parent(Z,Y), man(X),X<>Y.
sister(X,Y):-parent(Z,X),parent(Z,Y), woman(X),X<>Y.

uncle(X,Y):-parent(Z,Y),brother(X,Z).
aunt(X,Y):-parent(Z,Y),sister(X,Z).

son(X,Y):-parent(Y,X),man(X).
daughter(X,Y):-parent(Y,X),woman(X).

grandson(X,Z):-parent(Z,Y),parent(Y,X),man(X).
granddaughter(X,Z):-parent(Z,Y),parent(Y,X),woman(X).

goal
grandson(X,Y), write(X, " to ", Y), nl, fail


при нажатии alt+r программы выдает ошибку No further help message
ПОМОГИТЕ РЕШИТЬ ЭТУ ПРОБЛЕМУ.......
заранее благодарю вас за помощь)
maria_007 вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070