Raylly Moreira
unread,Jun 17, 2015, 9:43:14 AM6/17/15You do not have permission to delete messages in this group
Sign in to report message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
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.