Lógica
Rafael Conceição da Silva – 08206502
O exercício responde a questões com base em fatos conhecidos sobre uma família . Sobre ela, sabemos que o casal José e Maria criou dois filhos, o João e a Ana. Que a Ana teve duas filhas, a Helena e a Joana. Além disso, o Mário é filho do João e o Carlos nasceu da relação entre a Helena e o Mário.
Para testes, há algumas questões pré-definidas:
1. José é pai do João?
a. Execute q1.
2. Maria é mãe de X?
a. Execute q2(nome de quem queremos saber se Maria é mãe).
3. Mário é primo de X?
a. Execute q3(nome de quem queremos saber se é primo de Mário).
4. X é descendente de Carlos?
a. Execute q4(nome de quem queremos saber se Maria é mãe).
5. X é irmã de Helena?
a. Execute q5(nome de quem queremos saber se irmã de Helena).
6. X é irmão de Helena?
a. Execute q6(nome de quem queremos saber se irmão de Helena).
Além das questões de teste, definidas acima é possível criar outras questões, utilizando: descendente(X,Y) - Responde se X é descendente de Y avo (X,Y) - Responde se X é avo de Y mae (X,Y) - Responde se X é mãe de Y pai (X,Y) - Responde se X é pai de Y tio (X,Y) - Responde se X é tio de Y primo (X,Y) - Responde se X é primo de Y irmao (X,Y) - Responde se X é irmão de Y irma (X,Y) - Responde se X é irmã de Y
Código fonte:
% fatos progenitor(maria,joao). progenitor(jose,joao). progenitor(maria,ana). progenitor(jose,ana). progenitor(joao,mario). progenitor(ana,helena). progenitor(ana,joana). progenitor(helena,carlos). progenitor(mario,carlos). sexo(ana,feminino). sexo(maria,feminino). sexo(joana,feminino). sexo(helena,feminino). sexo(mario,masculino). sexo(joao,masculino). sexo(jose,masculino). sexo(carlos,masculino). irma(X,Y):- progenitor(A,X), progenitor(A,Y), X\==Y, sexo(X,feminino). irmao(X,Y):- progenitor(A,X), progenitor(A,Y), X\==Y, sexo(X,masculino). descendente(X,Y):- progenitor(X,Y). descendente(X,Y):- progenitor(X,A),