Sei sulla pagina 1di 3

Consultas en prolog Ejercicio 1 Eduardo y Alicia son hermanos? Consulta en prolog: hermano (eduardo, alicia).

Resultado: true Quines son los padres de Beatriz? Consulta en Prolog: padres (beatriz,X,Y). Resultados: X = alicia, Y = mario. Eduardo es hijo de Mario? Consulta en Prolog: hijo (eduardo,mario). Resultados: false Luis es hijo de Vernica? Consulta en Prolog: hijo(luis, veronica). Resultados: true De quin es hija Beatriz? Consulta en Prolog: padres (beatriz, X, Y). Resultados: X = alicia, Y = mario. Define reglas para las relaciones nieto y nieta. Regla para nieto: nieta(Ella, X) :- mujer(Ella),padres(Ella, P, _),padres(P,X,_). nieta(Ella, X) :- mujer(Ella),padres(Ella, _, M),padres(M,_,X). Regla para nieta: nieto(El, X) :- varon(El),padres(El, P, _),padres(P,X,_). nieto(El, X) :- varon(El),padres(El, _, M),padres(M,_,X). Defina reglas para la relacin abuelo y abuela Regla para abuelo: abuelo(El,X):- varon(El),padres(El,_,M),hijo(M,X). abuelo(El,X):- varon(El),padres(El,P,_),hija(P,X). abuelo(Ella,X):- mujer(Ella),padres(Ella,_,M),hijo(M,X). abuelo(Ella,X):- mujer(Ella),padres(Ella,P,_),hija(P,X). Regla para abuela: abuela(Ella,X):- mujer(Ella),padres(Ella,_,M),hija(M,X). abuela(Ella,X):- mujer(Ella),padres(Ella,P,_),hija(P,X). abuela(El,X):- varon(El),padres(El,_,M),hija(M,X). abuela(El,X):- varon(El),padres(El,P,_),hija(P,X). Edita el archivo familares.pl para agregar las reglas definidas en los pasos anteriores, guarda el archivo, crgalo nuevamente en el intrprete de Prolog y realiza las siguientes consultas:

Eduardo es abuelo? Consulta en Prolog: abuelo(X,eduardo). Resultados: False Victoria es abuela? Consulta en Prolog: abuela(X,victoria). Resultados: X=beatriz De quin es nieto Luis? Consulta en Prolog: nieto (luis,X). Resultados: X=francisco Francisco es abuelo de Beatriz? Consulta en Prolog: abuelo(beatriz,francisco). Resultados: true Define al menos 2 de las siguientes relaciones: sobrino, sobrina, cuado o cuada. Codifcala en Prolog, modifica el archivo familares.pl y prueba que la relacin est bien definida por medio de varias preguntas. Relacin: sobrina (beatriz,X). Codificacin: sobrino(El,X) :- varon(El),padres(El,M,_),hermana(M,X). sobrino(El,X) :- varon(El),padres(El,_,P),hermano(P,X). sobrina(Ella,X):- mujer(Ella),padres(Ella,M,_),hermana(M,X). sobrina(Ella,X):- mujer(Ella),padres(Ella,_,P),hermano(P,X). Ejercicio 2 Aprueba el examen Juan? Consulta en Prolog: aprueba_examen(juan). Resultados: true Est Susana preparada para el examen? Consulta en Prolog: preparado_para_examen(susana). Resultados: true Quin es el sabio del grupo? Consulta en Prolog: sabe_todo(X). Resultados: X=tomas Quines aprueban el examen? Consulta en Prolog: aprueba_examen(X). Resultados: X=tomas, X=Juan Dada la siguiente informacin: Si X est encima de Y, entonces Y soporta a X. Si X est arriba de Y y se tocan una y otra, entonces X est encima de Y.

La taza est arriba del libro. La taza toca al libro Escribe un programa en Prolog que use esta base de conocimiento y muestre que SOPORTA (libro, taza) es verdadero. Programa en Prolog: arriba(taza,libro). toca(libro,taza). soporta(taza,libro). encima(Y,X):- soporta(X,Y). encima(Y,X):- arriba(X,Y),toca(X,Y). SOPORTA (libro, taza) V

Convierte a Prolog la pregunta: Qu soporta a la taza? Pregunta en Prolog: soporta(taza, X). Respuesta: X = libro. Convierte a Prolog la pregunta: Qu est encima del libro? Pregunta en Prolog: encima (libro, X). Respuesta: X = taza Comentarios y conclusiones

Potrebbero piacerti anche