Petit problème simple de prédicat en PROLG

Eliane_ Messages postés 2 Statut Membre -  
 Grimmjow -
Premièrement, bonjour à tous!

C'est la première fois que j'utilise le forum de ce site que j'adore.

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!
A voir également:

2 réponses

Eliane_ Messages postés 2 Statut Membre
 
Non?
0
Grimmjow
 
Salut,
Je crois que c'est déjà trop tard pour répondre à cette question.
Alors peut-être on va discuter votre prochain TP. (Haskell?)
0