Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2886 connectés 

  FORUM HardWare.fr
  Programmation
  Divers

  [PROLOG] Petit problème simple de prédicat

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PROLOG] Petit problème simple de prédicat

n°1634256
eliane1
Posté le 30-10-2007 à 23:53:14  profilanswer
 

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!

mood
Publicité
Posté le 30-10-2007 à 23:53:14  profilanswer
 

n°1634644
eliane1
Posté le 31-10-2007 à 14:05:40  profilanswer
 

Personne à d'idée?

n°1634855
Trap D
Posté le 31-10-2007 à 17:00:48  profilanswer
 

Serait-ce le même post qu'ici ? http://www.developpez.net/forums/s [...] p?t=434776
 
D'abord comme je l'ai dit, améliore le prédicat voisins qui doit retourner une liste de deux villes, fais attention qu'il ne retourne qu'une seule liste et pas plusieurs (si tu appuies sur ';').
Ensuite costruit le graphe des villes voisines et parcours le en largeur, ou construis directement la liste des villes de proches en priche en mémorisant bien entendu les villes visitées.

n°1634879
eliane1
Posté le 31-10-2007 à 17:48:19  profilanswer
 

Oui c'est le même et comme j'ai répondu sur l'autre forum mon prédicat voisins ne doit pas retourner une liste mais bien un résultat a la fois... je désespere. Merci quand même.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Divers

  [PROLOG] Petit problème simple de prédicat

 

Sujets relatifs
[VB.NET]Problème traduction C#/VB.NETProbleme de methode
Google Website optimizer: problème d'accèsProbleme formulaire d'upload, renommer le fichier
petit question sur un petit probléme[RESOLU] probleme counter
Problème entre excel et vbProbleme de menu
Problème avec la fonction Exif 
Plus de sujets relatifs à : [PROLOG] Petit problème simple de prédicat


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR