Le langage Prolog


précédentsommairesuivant

1. Préambule

Où se procurer Prolog ?

Il existe diférents outils pour vous permettre de programmer en Prolog :

Comment installer Prolog ?

C'est simple:

  • Sous Windows : Télécharger l'un des programmes mentionnés précédemment et l'installer
  • Sous Debian/Ubuntu : En "root" :apt-get install swi-prologou bien :apt-get install gprolog
  • Autres distributions linux : Voir la gestion des paquages pour votre distribution (RPM, emerge...) ou pour compiler à partir des sources.

Comment éditer un programme Prolog ?

C'est simple: avec votre éditeur de texte préféré !

Comment exécuter un programme Prolog ?

Lancez votre interprèteur Prolog :

 
Sélectionnez
swi-prolog

Chargez votre programme grâce à la commande consult :

Execution
Sélectionnez
| ?-  consult('le_nom_de_votre_programme.pro').


Exemples de programmes Prolog

Voici quelques exemples de programmes Prolog, pour vous donner une idée :

  • Hello world !
     
    Sélectionnez
    printHelloWorld :-
      write('Hello world !'),
      nl.

    Exécution :

    Execution
    Sélectionnez
    | ?- printHelloWorld.
    Hello world !
     
    yes



  • Somme des éléments d'une liste :
     
    Sélectionnez
    sum([], 0) :- !.
    sum([T|Q], Somme) :-
      sum(Q, S),
      Somme is T + S.
     
    writeSum :-
      sum([1,2,3,4,5,6], S),
      write(S), nl.

    Exécution :

    Execution
    Sélectionnez
    | ?- writeSum.
    21
     
    yes



  • Programmation logique :
     
    Sélectionnez
    plusGros('rhinocéros','cheval').
    plusGros('cheval', 'chien').
    plusGros('chien', 'chat').
    plusGros('chat', 'hamster').
     
     
    estPlusGros(X, Y) :-
     plusGros(X, Y).
     
    estPlusGros(X, Z) :-
     plusGros(X, Y),
     estPlusGros(Y, Z).
     
     
     
    phrase(_) :-
      plusGros(X, Y),
      write('Le '), write(X), write(' est plus gros que le '), write(Y), nl.
     
    phrase(_) :-
      nl,
      write('Donc: '), nl.
     
    phrase(_) :-
      estPlusGros(X, Y),
      \+plusGros(X, Y),  
      write('Le '), write(X), write(' est plus gros que le '), write(Y), nl.
     
     
    phrases :-
      findall(X, phrase(X), _). 



    Exécution :

    Execution
    Sélectionnez
    | ?- phrases.
    Le rhinocéros est plus gros que le cheval
    Le cheval est plus gros que le chien
    Le chien est plus gros que le chat
    Le chat est plus gros que le hamster
     
    Donc: 
    Le rhinocéros est plus gros que le chien
    Le rhinocéros est plus gros que le chat
    Le rhinocéros est plus gros que le hamster
    Le cheval est plus gros que le chat
    Le cheval est plus gros que le hamster
    Le chien est plus gros que le hamster
     
    yes




Bravo, vous avez installé Prolog et exécuté vos premiers programmes !
Maintenant, nous allons apprendre les bases du langage...





précédentsommairesuivant

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

  

Copyright © 2006 pcaboche. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.