Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Por favor alguém me ajude!! Iniciante em prolog

7 views
Skip to first unread message

Raylly Moreira

unread,
Jun 17, 2015, 9:43:14 AM6/17/15
to
Olá, sou iniciante em prolog preciso de ajuda.

Não estou conseguindo descobrir porque minha consulta retorna falso ao invès de me retornar as informações pedidas na consulta.

Programa:

% caracteristicas das pessoas caim= eric abel=julia

trabalha_em(facebook,caim).
trabalha_em(loja_tecidos,abel).
maquiavelico(caim).
mora_em(califormia,caim).
mora_em(sao_mateus,abel).
folga_dia(sabado,caim).
folga_dia(domingo,caim).
folga_dia(sabado,abel).
folga_dia(domingo,abel).
visita_frequentemente(praça,caim).
visita_frequentemente(praça,abel).
possui(faca,caim).
possui(tesoura,abel).
usa_dia(faca,sabado,caim).
usa_dia(tesoura,segunda_feira,abel).
arma(faca).
arma(tesoura).

% regras
trauma(X):-
X = psicopatia; X = sindrome_panico.

suspeito(X):-
maquiavelico(X),possui(T,X),trauma(T),possui(A,X),arma(A).

estao_mesmo_lugar_mesmo_dia(X,Y,D):-
visita_frequentemente(Z,X), visita_frequentemente(Z,Y), folga_dia(D,X),
folga_dia(D,Y); mora_em(L,X),mora_em(L,Y);!.

conhece(X,Y):-
trabalha_em(Z,X),trabalha_em(Z,Y),folga_dia(D,X),folga_dia(D,Y);
estao_mesmo_lugar_mesmo_dia(X,Y,D).

usa_dia_arma(A,D,X):- arma(A), usa_dia(A,D,X).

crime(D,V,S,A):-
conhece(S,V), possui(A,S),V\=S,
suspeito(S),
estao_mesmo_lugar_mesmo_dia(S,V,D),
usa_dia_arma(A,D,S).


% Onde D= DIA, V= vitima, S= suspeito, A= arma


Consulta crime(sabado,abel,SUSPEITO,ARMA).
retorna falso enquanto o programa deveria me retornar suspeito e arma.

Além disso aparece um erro de singleton variable in D na regra de Conhece(X,Y), quando eu coloco variáveis anonimas no lugar de D, compila sem erro mas a consulta me retorna falso.

0 new messages