sábado, 6 de marzo de 2010

ARBOL FAMILIAR REALIZADOS EN PROLOG

Ejemplo 1: Árbol familiar realizados en prolog.


progenitor(pamela,roberto).
progenitor(tomas,roberto).
progenitor(tomas,elizabeth).
progenitor(roberto,ana).
progenitor(roberto,patricia).
progenitor(patricia,jaime).

Resultado:

1 ?- progenitor(roberto,patricia).
true.
2 ?- progenitor(elizabeth,patricia).
false.
3 ?- progenitor(tomas,carlos).
false.
4 ?- progenitor(X,elizabeth).
X = tomas .
5 ?- progenitor(roberto,X).
X = ana ;
X = patricia.
6 ?- progenitor(X,Y).
X = pamela,
Y = roberto ;
X = tomas,
Y = roberto ;
X = tomas,
Y = elizabeth ;
X = roberto,
Y = ana ;
X = roberto,
Y = patricia ;
X = patricia,
Y = jaime.

Ejercicios.

1. Suponiendo que las relaciones son ciertas,¿ prolog que contestara a esto?
9 ?- progenitor(jaime,X).
false.
10 ?- progenitor(X,jaime).
X = patricia.
11 ?- progenitor(pamela,X),progenitor(X,patricia).
X = roberto.
13 ?- progenitor(pamela,X),progenitor(X,Y),progenitor(Y,jaime).
X = roberto,
Y = patricia.

2. Preguntas a cerca de la relación progenitor:
a). ¿Cómo se llama el progenitor de Patricia?
15 ?- progenitor(X,patricia).
X = roberto .

b). ¿Tiene Elizabeth algún hijo?
16 ?- progenitor(elizabeth,X).
false.

c). ¿Cómo se llama el abuelo de Patricia?
17 ?- progenitor(X,Y),progenitor(Y,patricia).
X = pamela,
Y = roberto ;
X = tomas,
Y = Roberto.