Vous êtes sur la page 1sur 4

Université de M’hamed Bouguerra Boumerdès

Faculté des sciences- Département d’Informatique


Module : Programmation logique Année : 2019-2020
Filière : SI- S5 Responsable : Mme Boustil.
Type : TP2.
Série N°3 : Exercices en Prolog
Introcduction
Un programme consiste en la déclaration d’une série de faits et de règles de déduction.
homme(ahmed).
homme(ali).
femme(leila).
femme(soad).

personne(X) :- homme(X).
personne(X) :-femme(X).

Chaque règle / fait /question se termine par un point.


L’exécution du programme consiste à prouver un théorème. Le programme répond si le théorème peut
être prouvé ou non à partir des déclarations. L’exécution du programme se fait par des questions.

Pour exécuter un programme :


 On charge le code Prolog dans l’interpréteur en utilisant le prédicat unaire consult : Consult(‘nom
du fichier.pl’).
 On peut poser des questions :

Exercice  01 (Restaurant)


Considérons la base de données suivante, qui représente la carte d’un restaurant :
Hors-d’œuvre (artichauts)
Hors-d’œuvre (crevettes)
Hors-d’œuvre (Œufs)
Viande (grillade)
Viande (poulet)
Poisson (loup)
Poisson (sole)
Dessert (glace)
Dessert (tarte)
Dessert (fraises)
1. Comment demander la liste des hors d’œuvres disponibles ?
2. Quels sera le résultat affiché?
3. Définir la relation plat qui dit que un plat est à base de viande ou de poisson
4. Définir la relation repas qui dit que un repas est constitué d’un hors d’œuvre, d’un plat et d’un dessert
5. Comment commander la liste des repas possibles ?
6. Comment commander la liste des repas comprenant du poisson ?
7. Considérons maintenant la valeur caloriques des différents aliments. Prenant par exemple :

Calories (artichauts, 150)


Calories (crevettes, 250)
Calories (œufs, 200)
Calories (grillade, 300)
Calories (poulet, 250)
Calories (loup, 150)
Calories (sole, 200)
Calories (glace, 300)
Calories (tarte, 450)
Calories (fraise, 250)
8. Demander l’affichage de la valeur calorique des hors d’œuvres
9. Définir la valeur calorique d’un repas
10. Définir la relation repas –équilibre (valeur calorique inférieur à 600) et demander la liste des repas équilibrés
à base de viande
11. Quels sont les repas comportant des crevettes ?
12. Quels sont les repas ne comportant pas des fraises ?
13. Compléter le programme menu de façon qu’un repas comporte une boisson à choisir parmi l’eau minérale,
jus ou boisson gazeuse.

Exercice devoir (Coloriage de carte)


On se propose de définir un prédicat permettant de colorier la carte suivante :

Les règles sont les suivantes :


 On dispose de trois couleurs qui sont : vert, jaune et rouge ;
 Deux zones contiguës doivent avoir des couleurs différentes.
1) Ecrivez un prédicat coloriage(C1, C2, C3, C4) qui comportera deux parties. La première partie génère
toutes les valeurs possibles de C1, C2, C3 et C4. La seconde vérifie si les colorations obtenues sont
conformes à la carte par l’utilisation du prédicat X \= Y sur les couleurs des zones contiguës.
2) Reprenez ce prédicat, et modifiez le programme en déplaçant les tests de différence de couleurs le plus
tôt possible dans l’écriture du prédicat, c’est-à-dire en vérifiant les différences de couleurs dès que
celles-ci sont instanciées. Quelle en est la conséquence ?

Vous aimerez peut-être aussi