• Aucun résultat trouvé

Licence Informatique 3

N/A
N/A
Protected

Academic year: 2021

Partager "Licence Informatique 3"

Copied!
2
0
0

Texte intégral

(1)

Licence Informatique 3 e année

Langages de Programmation II - Partie Prolog

Examen 2e session - 27/07/2006 - 1h00

Les notes de cours et de TD sont autorisées. Il sera tenu compte pour la notation de la qualité de rédaction et de la lisibilité des copies. Le barême est donné à titre indicatif.

1 Résolution (6 points)

On donne le programme Prolog suivant (qui date un peu je crois) :

soleil.

lobes(kafelnikov).

petit(pioline).

meilleur(sampras).

gagnant(A,B) :- meilleur(A).

gagnant(C,D) :- plus_malin(C,D).

gagnant(E,F) :- plus_chanceux(E,F).

plus_malin(G,_) :- soleil, lobes(G).

plus_malin(H,I) :- petit(I), lobes(H).

plus_chanceux(_,pioline).

Donnez l’arbre de résolution du butgagnant(X,_).

2 Ensembles (4 points)

On veut manipuler en Prolog des ensembles sous forme de listes d’éléments, non ordonnées etsans doublon.

1. Écrire un prédicatunion(+list,+list,?list)qui réussit si la troisième liste est l’union des deux premières (c’est-à-dire contient les éléments des deux listes mais sans doublon).

2. Écrire un prédicatintersection(+list,+list,?list)qui réussit si la troisième liste est l’intersection des deux premières (c’est-à-dire contient les éléments communs aux deux listes mais sans doublon).

1

(2)

Ensembles

On suppose que les listes initiales sont sans doublon. Dans le cas contraire, on peut supprimer les doublons en utilisant le prédicat suivant :

sans_doublon([],[]).

sans_doublon([X|L],R) :- member(X,L),sans_doublon(L,R).

sans_doublon([X|L],[X|R]) :- \+member(X,L),sans_doublon(L,R).

Question 2.1 : union([],X,R).

union([X|L],Y,[X|S]) :- \+member(X,Y),union(L,Y,S).

union([X|L],Y,S) :- member(X,Y),union(L,Y,S).

Question 2.2 :

intersection([],X,[]).

intersection([X|L],Y,[X|R]) :- member(X,Y),intersection(L,Y,R).

intersection([X|L],Y,R) :- \+member(X,Y),intersection(L,Y,R).

2

Références

Documents relatifs

TextBreakPoint: PUBLIC PROCEDURE [body, source, condition: STRING, bt: DebugBreakptDefs.BTtype, gc: DebugBreakptDefs.GCtype] • BEGIN. fgf:

[r]

Deputy General Director, National Centre for Disease Control and Public Health, National Counterpart of Tobacco Control, Ministry of Labour, Health and Social Affairs.. Delegate(s)

THEY OPERATE rROM +/- 12VOC ANP £MPLOY SATURATED TRANSISTOR LOGIC, MOST LOGIC CIRCUITS CONTAIN SLOW DOWN CAPACITORS TO MINIMIZE TRANSIENT NOISE

HUMAN RIGHTS, JUSTICE AND LEGAL CO- OPERATION STANDARD SETTING ACTIVITIES DEPARTMENT / SERVICE DES ACTIVITÉS NORMATIVES EN MATIERE DE DROITS DE L’HOMME, JUSTICE

[r]

Adviser of the International Relations and Cooperation Division Department, Assembly of the Republic (SDP : Social Democratic Party / Parti social-démocrate). (PS :

COORDINATING UNIT FOR THE MEDITERRANEAN ACTION PLAN PROGRAMME DES NATIONS UNIES POUR L'ENVIRONNEMENT. UNITE DE COORDINATION DU PLAN D'ACTION POUR