IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Prolog Discussion :

traduire une fonction en prolog


Sujet :

Prolog

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1
    Points : 1
    Points
    1
    Par défaut traduire une fonction en prolog
    Bonjour,
    je dois traduire, cette fonction en prolog, et je n arrive absolument pas
    Fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function lookup (tag, node, trail) 
        if tag = node then 
            [tag : trail]) -- si c'est une feuille atomique 
        elsif tag = tag(node) then 
            concatenate (flatten (left(node)), flatten (right(node)), [tag : trail]) 
        elsif result := lookup (tag, left(node), [tag(node) : trail]) then 
            result 
        else 
            lookup (tag, right(node), [tag(node) : trail])
    Probleme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    lookup (Tag, Tree, Tags) :- 
        lookup2 (Tag, Tree, [], Tags). 
    lookup2 (Tag, Tree, Trail, Tags) :-
    merci

  2. #2
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Bonjour

    Il aurait été intéressant que tu expliques ce que fait exactement cette fonction (même si les noms peuvent donner une petite idée), la signification et le type de chaque argument et le type du résultat.
    La traduction en Prolog d'une fonction ayant 3 arguments doit avoir 4 arguments, donc la fonction étant lookup (tag, node, trail) ,
    le prédicat intial est de la forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lookup_prolog(Tag, Node, Trail, Result)
    Le prédicat de travail lookup2 s'écrit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lookup2(Tag, Node, Trail, CurrentResult, FinalResult) :-
    PS : attention, il ne doit pas y avoir d'espace entre la fin du nom du prédicat et la parenthèse ouvrante.
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

Discussions similaires

  1. Réponses: 7
    Dernier message: 04/07/2011, 11h55
  2. [WD14] [cURL] Traduire une fonction C en Wlangage
    Par Crâne de Puce dans le forum WinDev
    Réponses: 4
    Dernier message: 10/06/2011, 00h49
  3. [Débutant] traduire une fonction de matlab vers C++ Builder
    Par kheira dans le forum C++Builder
    Réponses: 5
    Dernier message: 24/03/2010, 15h11
  4. Définition d'une fonction en Prolog
    Par abssef dans le forum Prolog
    Réponses: 6
    Dernier message: 17/06/2008, 20h51
  5. TRADUIRE une fonction algorithmique en java
    Par mouss4rs dans le forum Langage
    Réponses: 1
    Dernier message: 08/05/2008, 01h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo