Petit problème simple de prédicat en PROLG

Fermé
Eliane_ Messages postés 2 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 31 octobre 2007 - 30 oct. 2007 à 20:59
 Grimmjow - 7 nov. 2007 à 18:50
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 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 31 octobre 2007
31 oct. 2007 à 14:04
Non?
0
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