Vous êtes sur la page 1sur 2

Licence Informatique 3e année

Programmation Logique
TD2 : Arithmétique - Listes

1 Entiers naturels
On définit les entiers de la façon suivante : 0 est un entier, le suivant d’un
entier X (noté s(X)) est un entier.
1. Écrire un prédicat naturel(?atom) qui réussit si l’atome est un entier.
2. Écrire un prédicat somme(+entier,+entier,-entier) qui réussit si le dernier
entier est la somme des deux premiers.
3. Écrire un prédicat soustraction(+entier,+entier,-entier) qui réussit si le
dernier entier est la différence des deux premiers.
4. Écrire un prédicat multiplication(+entier,+entier,-entier) qui réussit si le
dernier entier est le produit des deux premiers.

2 Cryptographie
Le but de l’exercice est d’écrire un programme Prolog qui puisse résoudre
des cryptogrammes du genre

SEND
MORE
———–
MONEY

1. Écrire un prédicat chiffre(?atom) qui réussit si l’atome est un chiffre (de


0 à 9).
2. Écrire un prédicat chiffres(?list) qui réussit si la liste ne contient que des
chiffres.
3. Écrire un prédicat differents(?list) qui réussit si la liste ne contient que
des éléments différents.
4. Écrire un prédicat crypto(?list) qui réussit si la liste contient les chiffres
correspondant aux lettres du cryptogramme et si ces chiffres vérifie la
relation.

3 Préfixe d’une liste


Écrire un prédicat qui réussit si une liste est le préfixe d’une autre.

1
4 Ajout d’éléments dans une liste
Écrire des prédicats permettant de :
1. ajouter un élément en tête d’une liste
2. ajouter un élément en queue d’une liste

5 Suppression d’éléments dans une liste


Écrire des prédicats permettant de :
1. supprimer la première occurence d’un élément dans une liste
2. supprimer toutes les occurences d’un élément dans une liste

6 Tri de listes
Écrire des prédicats permettant de :
1. trier une liste d’entiers par la méthode du tri à bulle
2. trier une liste d’entiers par la méthode du tri rapide (quick sort)

Vous aimerez peut-être aussi