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 :

Aide compréhension ProLog


Sujet :

Prolog

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2010
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2010
    Messages : 27
    Points : 20
    Points
    20
    Par défaut Aide compréhension ProLog
    Bonjour! Alors moi je suis étudiant en informatique et on a des cours de prolog, le problème c'est qu'on n'arrive pas à comprendre grand chose voir rien du tout et du coup je me suis dit que peut être je pourrais arriver à comprendre si on m'explique. J'ai un TP à faire et je bloque déjà à la question 1 :s

    Contexte: Les expressions sont représentées sous forme d'arbres dont les feuilles sont des constantes ProLog représentant les constantes du calcul algébrique . (les entiers relatifs '-1', '0', '1'... '999' ...) et la variable 'x'(représentant le monome fondamental unitaire) et dont les noeuds sont les opérateurs du calcul polynomial 'plus', 'fois' et 'puissance. Ex: L'expression polynomiale: 3X^2-5 est représentée par l'arbre ProLog plus(fois(3,puissance(x,2)),-5) (plus, fois et puissance sont binaires)

    Question 1:
    Donner le prédicat cree(T,P) vrai ssi T un arbre représentant une expression polynomiale et P une liste de caractères représentant le texte correspondant à cette expression (vous pouvez choisir une forme de texte plus basique)
    Exemple: cree(plus(fois(3,puissance(x,2)),-5)),F) a le succès {F=[3,'x','^',2,'-','5']}
    Donc en gros si je comprends, il faut que je crée une sorte d'interpréteur qui va me réorganiser voir me traduire mon expression de base en une chose plus lisible mais je n'ai aucune idée de par où commencer

    Merci d'avance pour tout aide, je vais continuer à jeter un coup d'œil aux cours de ce site.

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2010
    Messages : 20
    Points : 26
    Points
    26
    Par défaut
    Ok alors explication de la question :

    une expression polynomiale, est composé de plusieurs objets qui vont se retrouver soit sur les noeuds soit sur les feuilles d'un arbre.

    Les opérateurs binaires seront des noeuds, les nombres constants et la variable x seront des feuilles.

    Tu dois donc représenter/explorer/interpréter des arbres binaires.

    Pour ton exemple tu obtiendrais l'arbre suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
                  +                <-noeud racine
           *            -5        <- * est un noeud -5 est une feuille
     3        ^                   <- 3 est une feuille ^ est un noeud
             x   2                <- x et 2 sont des feuilles

    Comment représenter un arbre de ce type en ProLog ?

    Reprenons l'exemple de ton énoncé, mais avec une meilleur mise en forme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    plus(                                 <- noeud racine +
            fois(                          <- noeud * premier enfant du noeud racine +
                    3,                     <- feuille et enfant du noeud *
                    puissance(       <- noeud ^ et enfant du noeud *
                                      x,   <- feuille x et enfant du noeud ^
                                      2    <- feuille 2 et enfant du noeud ^
                                   )
                  ),
            -5                              <- feuille -5, deuxième enfant du noeud racine + et frère du noeud *
           ).                                <- fin du noeud racine +
    Le code est le même que dans ton énoncé, mais juste présenter différemment.
    A toi d'écrire les différents prédicats dont tu as besoin pour répondre à la question.

Discussions similaires

  1. Demande d'aide compréhension requête
    Par nico1214 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 31/10/2008, 14h30
  2. Exemple QProcess FAQ: aide compréhension
    Par Nykoo dans le forum Qt
    Réponses: 9
    Dernier message: 01/04/2008, 00h28
  3. Besoin d'aide (compréhension)
    Par Zifnab dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 28/07/2007, 19h16
  4. aide compréhension instruction javascript
    Par calitom dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 20/12/2006, 12h20
  5. Aide compréhension erreur
    Par calitom dans le forum Langage
    Réponses: 3
    Dernier message: 15/12/2006, 21h05

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