2010-12-07 8 views
0

wird angenommen, dass die folgenden Tatsachen sind bereits in der Prolog-Datenbank eingetragen:Prolog: X ist der Großvater von Y

father(X, Y)  // X is the father of Y 
mother(X, Y)  // X is the mother of Y 
male(X)   // X is a male 
female(X)  // X is a female 
parent(X, Y)  // X is a parent of Y 
diff(X, Y)  // X and Y are different 

(1) nun eine Prolog-Regel für grandpa_of hinzufügen (X, Y), wobei „X der Großvater von Y“

(2) für Geschwister eine weitere Regel hinzufügen (X, Y), wobei "X die Geschwister von Y"

Meine Gedanken ist:

Frage 1:

Ich bin verwirrt, wie ich die Eltern der Eltern zu finden, alles, was ich

grandpa_of (X, Y) so weit haben: - männlich (X), ...

Frage 2:

Geschwister (X, Y): - Eltern (P, X), Eltern (P, Y), diff (X, Y)

+0

diese Hausaufgaben? – Paul

+0

Wenn X der Großvater von Y ist, was sagt das über Ys Vater/Mutter? –

+0

@Paul: Klasse ist vorbei, das ist aus einem vergangenen Finale. Also muss ich es lernen, aber es ist nicht für Noten. –

Antwort

5

Ich denke, Jason bedeutet grandpa_of(X,Y) :- father(X,P), parent(P,Y).

+1

Es gibt einen Tippfehler oben. Anstelle von ': =' sollte ': -' stehen. –

2

Es ist eine lange Zeit gewesen ... Die erste ist etwas so:

grandpa_of(X, Y) :- father(X, P), father(P, Y). 

zu lange ... :-P