Académique Documents
Professionnel Documents
Culture Documents
▪ Liste([1,2,3,4,5]).
▪ ?- Liste = [Head|Tail] reussit avec Head = 1 et Tail =[2,3,4,4] et Liste = .(1, Tail)
▪ [a,b,c] = [a|[b,c]] = [a,b|[c]] = [a,b,c|[]]
▪ [1,2,3,4,5] = [1|[2,3,4,5]] = [1,2|[3,4,5]] = [1,2,3,4,5|[]]
Exercice 1 : Écrivez un prédicat somme en Prolog qui calcule la somme des éléments
d'une liste d'entiers.
somme([], 0).
maximum([X], X).
membre(X, [X | _]).
inverse([], []).
Exercice 5 : Écrivez un prédicat pair en Prolog qui vérifie si un nombre donné est
pair.
factoriel(0, 1).
fibonacci(0, 0).
fibonacci(1, 1).
liste_triee([]).
liste_triee([_]).
doublons([], []).
doublons(Reste, [X | Doublons]).
2
AI et machine learning 3-ISI
Exercice 10 : Écrivez un prédicat fusion en Prolog qui fusionne deux listes triées
en une seule liste triée.
fusion([], L, L).
fusion(L, [], L).
fusion([T1 | R1], [T2 | R2], [T1 | R]) :-T1 =< T2, fusion(R1, [T2 | R2], R).
fusion([T1 | R1], [T2 | R2], [T2 | R]) :-T1 > T2, fusion([T1 | R1], R2, R).