"PROLOG"
INTRODUCTION
Le Prolog est un langage logique. Mais ce n'est pas un langage au sens stricte car c'est aussi un logiciel.
La programmation Prolog consiste en l'�nnonc�es de propri�t�s logiques. On donne d'abord une 'base' de depart (=ses donnees).
Exemple 1� : note (nom, valeur).
Explication : la personne x a pour note y. Le predicat dans cette exemple est 'note'. Cela peut donner note (arthur, 10).
C'est donc une programmation hyper logique. Le 'if', le 'while'...n'existe pas. Les structures de contr�les sont cach�es. Le point '.' � la fin d'une phrase est synonyme de 'c'est vrai'. Le programme ne remet pas en cause ce qu'on lui dit.
La structure de base en Prolog correspondrait � ce sch�ma : 'on a ceci si on peut prouver que l'on a cela'. (le 'si on peut prouver que' en Prolog se note :- soit pour ceux qui aurait du mal � lire 'deux points tiret').
Exemple 2� : temp beau :- non (nuages), ciel (bleu).
Explication : le temps est beau si il n'y a pas de nuages et que le ciel est bleu.
Deux exemples pr�cis de programmes en Prolog :
La multiplication :
Comment multiplier simplement deux nombres en Prolog ?
On veut effectuer 4*5 et on veut que le r�sultat soit 20. En Prolog on l'�crira mult (4, 5, 20). Il faut d�finir un programme qui fonctionnera pour toutes les multiplications. Soit A et B les deux chiffres que l'on d�sire multiplier et soit C le r�sultat. En Prolog cela donnerait le programme suivant :(en vert)
mult (0, X, 0) (o� X est �gal � un nombre de l'infini. C'est un test d'arr�t. Si on multiplie on nombre par 0, on obtient 0 et le programme s'arr�te.)
mult (A, B, C) :- A1 is A-1, mult (A1, B, D), C is B+D. (A multipli� par B est �gal � C si A1 est �gal � A-1si....).
On retrouve donc bien les diff�rentes conditions pour avoir ce que l'on cherche. (on a ceci si on a cela).
Avec des exemples cela donne :
mult (0, 5, C) -> C=0
mult (1, 4, C) -> mult (1, 4, C) :- 0, mult (0, 4, 0), 4 -> C=4
Il est aussi possible de faire Fibonnaci en Prolog (eh oh partez pas !!). C'est asser simple.
cela donne :
fib (1, 1)
fib (2, 1)
fib (N, F) :- N1 is N-1, N2 is N-2, fib (N1, F1), fib (N2, F2), F is F1+F2.
Pas besoin de grandes explications car la fonction Fibonnaci se trouve d�j� dans la partie Unix et son Shell.
Pr�c�dent : Unix et son Shell.
Suite : Les Tableaux.
Retour � la page principale.