Premièrement, bonjour à tous!
Voila, j'ai un devoir en prolog mais je suis completement bloquée sur un numéro qui ne semble pas si diffile a première vu mais la logique de prolog semble m'échaper!
Je vous explique:
Premièrement, on me donne ces 4 faits:
%--------------------------------------
% Voisin
%--------------------------------------
voisin(lasalle, verdun).
voisin(verdun, westmount).
voisin(westmount, villemarie).
voisin(villemarie, outremont).
Deuxièment, on me demande de faire un predicat: voisins (Lieu, Lieu2) :-
exemples:
?- voisins (lasalle, X). X = verdun
?- voisins (verdun, X). X = westmount ; lasalle
J'ai fait ce prédicat.. pas tres compliqué (enfin, je crois l'avoir bien fait):
voisins(Lieu, Lieu2) :- voisin(Lieu, Lieu2) ; voisin(Lieu2, Lieu).
C'est sur la prochaine question que j'ai un problème.
On me demande de faire un prédicat permettant de consulter les lieux de proche en proche, mais en commençant par les localités immédiatement voisines. A distance égale, je doit essayer d’abord les voisins à l’Est. (ils sont placés d'ouest en est dans la liste de faits)
prédicat: trouver_prochainlieu (Lieu, Lieu2) :-
ex: ?- trouver_prochainlieu (verdun, X).
X = westmount ;
lasalle ;
villemarie ;
outremont
Si quelqu'un pouvait m'aider sur cet exercice... sa doit faire 8 heures que j'essai des trucs mais au fur et à mesure que j'essai je m'éloigne de plus en plus...
Merci d'avance!