Vous êtes sur la page 1sur 12

Université de Tunis El Manar

Département des Sciences de l’Informatique

TP
PROLOGUE
Réalisé par :
JOUILI SAMEH
Haddad Amamou Khouloud
CHARIOUT NAJET

AMPHI B GROUPE4 & GROUPE5


AMPHI A GROUPE1

Année universitaire : 2009-2010

TP PROLOGUE
Introduction :
Prolog est un langage de programmation naturel et
proche du langage courant. Né en France, il est basé
sur ce que l’on sait dans l’ordre. Il se compose des
règles et des faits.
Un programme prolog comporte les parties suivantes :
domains
/* ici seront déclarés les types utilisés dans le programme */
predicates
/* ici nous mettrons les primitives des prédicats utilisés dans les règles */
Clauses
/* ici nous écrirons les faits (ou hypothèses) ainsi que les règles constituant notre
programme */
Goals
/* cette section est facultative, elle sert à indiquer au programme les questions ou les
buts internes à résoudre */

Dans ce TP on va étudier un exemple de programme prolog .

On a voulu dans ce TP choisir un exemple qui pourrait traiter un


exemple de la réalité.

Le sujet :

*Un vendeur possède une quantité de voitures qu’il veut


ordonner suivant certains critères.
*Il ya trois gammes de voitures:

-des voitures petites gammes (4 chevaux).

- des voitures de gamme moyenne (5 chevaux).

- des voitures grandes gammes (6 chevaux).

*Il se base sur ces critères :

-La maison de la voiture.

-La marque de la voiture

-La couleur

-Les options de la voiture (intérieur cuir, sécurité frein ABS, air


conditionné).

-Le type de carburant (Essence ou Diesel).

-Le prix.

De plus le client peut choisir entre une voiture neuve ou une


occasion.

D’où les voitures d’occasion auront un prix moins cher que les
autres.

Voici le Programme :

domains

maison=symbol
marque=symbol

couleur=symbol

option=symbol

carburant=symbol

prix=real

predicates

voiture_4ch(maison,marque,couleur,option,carburant,prix)

voiture_5ch(maison,marque,couleur,option,carburant,prix)

voiture_6ch(maison,marque,couleur,option,carburant,prix)

produit(maison,marque,couleur,option,carburant,prix)

nouveau(maison,marque,couleur,option,carburant)

occasion(maison,marque,couleur,option,carburant)

option(maison,marque,option,prix)

carburant(maison,marque,carburant,prix)

couleur(maison,marque,couleur,prix)
clauses

produit(X,Y,Z,O,C,P):-voiture_4ch(X,Y,Z,O,C,P)
;voiture_5ch(X,Y,Z,O,C,P) ;voiture_6ch(X,Y,Z,O,C,P).

occasion (X,Y,Z,O,C) :-voiture_4ch(X,Y,Z,O,C,P),P<12


;voiture_5ch(X,Y,Z,O,C,P),P<15 ;voiture_6ch(X,Y,Z,O,C,P),P<18.

nouveau (X,Y,Z,O,C) :-voiture_4ch(X,Y,Z,O,C,P),P>=12


;voiture_5ch(X,Y,Z,O,C,P),P>=15
;voiture_6ch(X,Y,Z,O,C,P),P>=18.

option(X,Y,O,P) :-voiture_4ch(X,Y,Z,O,C,P)
;voiture_5ch(X,Y,Z,O,C,P) ;voiture_6ch(X,Y,Z,O,C,P).

carburant(X,Y,C,P):-voiture_4ch(X,Y,Z,O,C,P)
;voiture_5ch(X,Y,Z,O,C,P) ;voiture_6ch(X,Y,Z,O,C,P).

couleur(X,Y,Z,P):-voiture_4ch(X,Y,Z,O,C,P)
;voiture_5ch(X,Y,Z,O,C,P) ;voiture_6ch(X,Y,Z,O,C,P).
QUELQUES EXEMPLE de PRODUITS :

/* les voitures petites gamme 4


chevaux */

voiture_4ch(peugeot,106,noir,abs,essence,13).

voiture_4ch(peugeot,206,noir,clim,essence,17).

voiture_4ch(peugeot,207,noir,cuir,diesel,23).

voiture_4ch(peugeot,106,blanc,abs,essence,13).

voiture_4ch(peugeot,206,blanc,abs,essence,17).

voiture_4ch(peugeot,207,blanc,abs,essence,23).

voiture_4ch(peugeot,106,gris,clim,essence,13).

voiture_4ch(peugeot,206,gris,abs,essence,17).

voiture_4ch(peugeot,207,gris,cuir,diesel,23).

ver,
voiture_4ch(renault,clio,noir,abs,essence,13).

voiture_4ch(renault,clio_campus,noir,clim,essence,17).

voiture_4ch(renault,clio,blanc,cuir,diesel,13).

voiture_4ch(renault,clio_campus,blanc,clim,essence,17).

voiture_4ch(renault,clio,gris,abs,essence,13).

voiture_4ch(renault,clio_campus,gris,cuir,diesel,17).

voiture_4ch(volkswagen,polo,noir,clim,essence,18).

voiture_4ch(volkswagen,polo,blanc,cuir,diesel,18).

voiture_4ch(volkswagen,polo,gris,cuir,diesel,18).

/* les voitures petites gamme


5 chevaux */

voiture_5ch(peugeot,306,noir,abs,essence,15).

voiture_5ch(peugeot,307,noir,clim,essence,26).
voiture_5ch(peugeot,308,noir,clim,essence,30).

voiture_5ch(peugeot,306,blanc,abs,essence,15).

voiture_5ch(peugeot,307,blanc,clim,essence,26).

voiture_5ch(peugeot,308,blanc,cuir,diesel,30).

voiture_5ch(peugeot,306,gris,abs,essence,15).

voiture_5ch(peugeot,307,gris,clim,essence,26).

voiture_5ch(peugeot,308,gris,cuir,diesel,30).

voiture_5ch(renault,megane,noir,abs,essence,13).

voiture_5ch(renault,megane,blanc,abs,essence,13).

voiture_5ch(renault,megane,gris,abs,essence,13).

voiture_5ch(volswagen,golf,noir,clim,essence,20).

voiture_5ch(volswagen,golf,blanc,clim,essence,20).

voiture_5ch(volswagen,golf,gris,clim,essence,20).

voiture_5ch(volswagen,jetta,noir,clim,essence,24).

voiture_5ch(volswagen,jetta,blanc,clim,essence,24).

voiture_5ch(volswagen,jetta,gris,clim,essence,24).
/* les voitures petites gamme
6 chevaux */

voiture_6ch(peugeot,406,noir,clim,essence,22).

voiture_6ch(peugeot,407,noir,cuir,diesel,35).

voiture_6ch(peugeot,408,noir,cuir,diesel,36).

voiture_6ch(peugeot,406,blanc,clim,essence,22).

voiture_6ch(peugeot,407,blanc,cuir,diesel,35).

voiture_6ch(peugeot,408,blanc,cuir,diesel,36).

voiture_6ch(peugeot,406,gris,clim,essence,22).

voiture_6ch(peugeot,407,gris,cuir,diesel,35).

voiture_6ch(peugeot,408,gris,cuir,diesel,36).

voiture_6ch(renault,laguna,noir,cuir,diesel,32).

voiture_6ch(renault,laguna,blanc,cuir,diesel,32).

voiture_6ch(renault,laguna,gris,clim,essence,32).
voiture_6ch(volswagen,passat,noir,cuir,diesel,42).

voiture_6ch(volswagen,passat,blanc,cuir,diesel,42).

voiture_6ch(volswagen,passat,gris,clim,essence,42).

Alors, la clause :

• Produit, nous permet de repérer une voiture déjà existante


suivant des critères bien déterminé.

• Occasion, nous permet de déterminer si une voiture


existe en prix occasionnel.
• Nouveau, nous permet de déterminer les voitures neuves.

• Option, permet de vérifier l’existence d’une option choisit


dans une voiture particulière.

• Carburant, permet de verifier si un type de carburant


(Essence ou Diesel) existe dans le model choisit.

• Couleur, permet de chercher les couleurs existantes pour


un certain model de voiture.
Conclusion
Turbo Prolog est l’un des principaux langages de
programmation logique.

L’exécution d’un programme Prolog est effectivement une


application du théorème prouvant par résolution du premier
ordre.

D’où, nous remarquons qu’il facilite la formulation de certaine


application. Ainsi qu’il permet de traduire des théorèmes
relationnels, comme dans notre cas. Prolog facilite la gestion et
la manipulation des données aux prés des concessionnaires de
voitures.