jueves, 7 de marzo de 2013

Ejercicios

Ejercicios
1.3. Traduzca las siguientes sentencias a reglas Prolog.
a). Cualquiera que tiene un hijo es feliz (introduzca la relación unaria llamada 'feliz'). 
 feliz(X):- padre (X,Y).
1 ?- feliz(X).
X = pamela ;
X = tomas ;
X = tomas ;
X = roberto ;
X = roberto ;
X = patricia.

b). Para todo X, si X tiene un hijo que tiene una hermana, entonces X tiene dos hijos
(introduzca la relación tiene-dos-hijos). 
 
tiene_dos_hijos(X):- padre(X,Y), padre(Y,Z).
2 ?- tiene_dos_hijos(X).
X = pamela ;
X = tomas ;
X = tomas ;
X = tomas ;
X = tomas ;
X = roberto ;
X = roberto ;
X = roberto ;
X = roberto ;
X = patricia.
 
 1.4. Defina la relación 'nieto' usando la relación 'progenitor'.
Recomendación: Será similar a la relación abuelo. 
 
es_nieto(X):- padre(Y,Z), padre(Z,X).
3?- es_nieto(X).
X = ana ;
X = patricia ;
X = ana ;
X = patricia ;
X = jaime ;
 
1.5. Defina la relación tia( X, Y) en términos de las relaciones 'progenitor' y
'hermana'. Dibuje primero un diagrama para ésta relación.
mujer(pamela).
mujer(elizabeth).
mujer(ana).
mujer(patricia).
es_hermana(X):- padre(Z,Y), padre(Z,X), mujer(X).
4 ?- es_hermana(X).
X = elizabeth ;
X = elizabeth ;
X = ana ;
X = patricia ;
X = ana ;
X = patricia ;
es_tia(X):- es_hermana(X), padre(Z,Y), padre(Z,X), mujer(X).
 5 ?- es_tia(X).
X = elizabeth ;
X = elizabeth ;
X = elizabeth ;
X = elizabeth ;
X = ana ;
X = ana ;
X = patricia ;
X = patricia ;
X = ana ;
X = ana ;
X = patricia;

 

 

No hay comentarios:

Publicar un comentario