Arbol genealogico en prolog
Para la realización de esta práctica he seguido mi propio árbol genealógico, al cual por privacidad, he cambiado los nombres reales porficticios. Éste es el esquema:
Código en Prolog:
%hechos
varon(arturo).
varon(julian).
varon(roberto).
varon(jose).
varon(augusto).
varon(ignacio).
varon(antonio).
varon(pedro).varon(ramon).
varon(federico).
varon(marcos).
mujer(mercedes).
mujer(petra).
mujer(marina).
mujer(julia).
mujer(elena).
mujer(violeta).
mujer(maria).
mujer(lucia).
mujer(sara).mujer(margarita).
mujer(sandra).
mujer(marta).
progenitor(federico, sandra).
progenitor(sara, sandra).
progenitor(federico, marta).
progenitor(sara, marta).
progenitor(federico, marcos).
progenitor(sara,marcos).
progenitor(augusto, pedro).
progenitor(elena, pedro).
progenitor(augusto, ramon).
progenitor(elena, ramon).
progenitor(augusto, lucia).
progenitor(elena, lucia).
progenitor(augusto,federico).
progenitor(elena, federico).
progenitor(ignacio, sara).
progenitor(violeta, sara).
progenitor(antonio, margarita).
progenitor(maria, margarita).
progenitor(arturo, augusto).progenitor(mercedes, augusto).
progenitor(julian, elena).
progenitor(petra, elena).
progenitor(roberto, ignacio).
progenitor(marina, ignacio).
progenitor(jose, violeta).
progenitor(julia, violeta).progenitor(jose, maria).
progenitor(julia, maria).
%reglas
% Se es padre de alguien si se es progenitor y además varón
padre(X,Y):- % X es padre de Y si
progenitor(X,Y), % X es el progenitor deY y además
varon(X). % X es varón
% Se es madre de alguien si se es progenitor y además mujer.
madre(X, Y):- % X es madre de Y si
progenitor(X,Y), % X es el progenitor de Y y ademásmujer(X). % X es mujer
% abuelo es el padre de uno de los progenitores
abuelo(X,Y):- % X es abuelo de Y si
padre(X,Z), % X es el padre de Z y además
progenitor(Z,Y). % Z es...
Regístrate para leer el documento completo.