Я полный новичок в программировании и должен создавать и решать загадку в Prolog с помощью GNU Prolog, аналогично загадке Эйнштейна, хотя и менее сложной. Я пытался создать загадку для элементов, содержащихся в следующей таблице .
Мой код до сих пор выглядит так, но я действительно не совсем понимаю, что я делаю неправильно или прямо здесь. Я могу скомпилировать код в GNU Prolog, но он не решит загадки:
middle(M,[_,M,_]).
right(A,B,[[_|A]|B]).
left(A,B,[A|[B|_]]).
run:-
X = [_,_,_],
middle([_,brown,_],X), /* the brown guinea pig lives in the middle of the cage */
member([brown,carrots,_],X), /* the brown guinea pig loves to eat carrots */
member([_,salad,giggles],X), /* the salad eating guinea pig giggles */
right([_,salad,_],[brown,_,_],X), /* the salad eating guinea pig sits to the right of the brown guinea pig */
left([black,_,_],[_,_,squeaks],X), /* the black guinea pig sleeps to the left of the squeaking guinea pig */
member([black,_,grumbles],X), /* the black guinea pig grumbles */
member([grey,_,giggles],X), /* the grey guinea pig giggles*/
write(X),nl, /* write out all fur colors */
write('the '),write(N),write(' guinea pig loves to eat cucumbers'),nl. /* answer to the question */
Я был бы очень признателен за любую помощь, поскольку я совершенно не знаком с этими вещами, но должен найти решение для класса, который я принимаю. Любые советы будут очень полезны. Спасибо!