ejercicios de prolog
Ejercicios para alumnos.
Ejercicio 1
Cree un fichero de texto llamado 1_ejemplos.pl.
Suponiendo que el predicado gusta(X,Y) indica que a X le gusta Y, escriba los objetivos que habría que definir en Prolog para contestar las siguientes preguntas:
-
¿Le gusta algo a Juan?
-
¿Le gustan a Juan las almendras?
-
¿Qué es lo que le gusta a Juan?
A continuación, suponiendo que esPadre(X,Y) indica que X es el padre de Y, exprese en lenguaje natural lo que significan las preguntas:
?- esPadre(X,pedro).
?- esPadre(_,pedro).
?- esPadre(X,_).
?- esPadre(_,_).
?- esPadre(_,X).
?- esPadre(X,Y).
?- esPadre(personaQueNoExiste,pedro).
Ejercicio 2
Represente, primero en Lógica de …ver más…
-
“Cada dueño debe vacunar de la rabia a su(s) perro(s)”.
Utilice los predicados Gobierna, EsEcuatoriano, TieneAnimal, TienePerro,
TieneGato, EsPerro, EsVacuna, EsEnfermedad, DebeVacunar…
Guarde su solución en un fichero llamado 4_ejemplos.pl
Ejercicio 4
Traduzca a Prolog los predicados del ejercicio anterior y guarde su solución en el fichero 5_ejemplos.pl.
RECORDATORIO: Si una variable aparece una sola vez en el ámbito de una regla, tendrá que usar el símbolo _ para representarla (tal y como se hace para especificar objetivos en línea de comandos).
Para cada uno de los siguientes ejercicios, incluya un breve comentario acerca de cómo funciona cada regla que defina. Dicho comentario se incluirá justo antes de la definición en Prolog de la regla correspondiente, dentro del fichero .pl asociado al ejercicio. Ejercicio 5
En un fichero llamado 5_genealogia.pl, cree las reglas en Prolog necesarias para representar un árbol genealógico utilizando únicamente el predicado padres(,,) Incluya datos de su propio árbol genealógico (incluyendo, al menos, datos de abuelos, padres, nietos, y bisnietos).
a. Indique el objetivo que permite responder la pregunta ¿Quién es padre de quien?
b. Incluya una regla que represente el parentesco de hermandad.
c. ¿Puede aumentarse la potencia del predicado anterior con una regla que nos diga explícitamente que la propiedad de ser hermanos es conmutativa (es decir, que si X es