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 :

table de verité avec swi-prolog


Sujet :

Prolog

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 1
    Points : 1
    Points
    1
    Par défaut table de verité avec swi-prolog
    salut à tous !
    voici un code qui permet d'établir la table de verité d'une assertion logique, mais je ne le comprend pas tres bien. Est ce que quelqu'un pourrait me l'expliquer svp.

    code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    and(A,B) :- A, B.
     
    or(A,_) :- A.
    or(_,B) :- B.
     
    equ(A,B) :- or(and(A,B), and(not(A),not(B))).
     
    xor(A,B) :- not(equ(A,B)).
     
    nor(A,B) :- not(or(A,B)).
     
    nand(A,B) :- not(and(A,B)).
     
    impl(A,B) :- or(not(A),B).
     
    % bind(X) :- instantiate X to be true and false successively
     
    bind(true).
    bind(fail).
     
    table(A,B,Expr) :- bind(A), bind(B), do(A,B,Expr), fail.
     
    do(A,B,_) :- write(A), write('  '), write(B), write('  '), fail.
    do(_,_,Expr) :- Expr, !, write(true), nl.
    do(_,_,_) :- write(fail), nl.
    Ex: pour ?- table(A,B,and(A,or(A,B))). le résultat est:
    true true true
    true fail true
    fail true fail
    fail fail

    merci d'avance.

  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
    Pour comprendre ce programme, utilisez le mode trace (en SWI-Prolog on tape trage sur la console SWI) et le debuggueur se met en route, ça permet de bien voir ce qui se passse.
    "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. probleme avec les listes Swi prolog
    Par JemiliSourour dans le forum Prolog
    Réponses: 4
    Dernier message: 27/07/2010, 16h23
  2. [SWI-Prolog] Interfaçage avec XPCE
    Par baouk2000 dans le forum Prolog
    Réponses: 11
    Dernier message: 29/01/2009, 23h43
  3. Réponses: 5
    Dernier message: 14/05/2008, 18h14
  4. Réponses: 2
    Dernier message: 23/03/2008, 09h46
  5. Réponses: 1
    Dernier message: 12/02/2008, 09h10

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