0% ont trouvé ce document utile (0 vote)
10 vues2 pages

Programmation Logique : Arithmétique et Listes

Le document décrit un TD de programmation logique contenant plusieurs exercices sur les entiers naturels, la cryptographie, les listes et le tri de listes. Les exercices portent sur l'écriture de prédicats Prolog pour représenter des opérations arithmétiques, vérifier des propriétés de listes et trier des listes.

Transféré par

mahdi ben abdallah
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
10 vues2 pages

Programmation Logique : Arithmétique et Listes

Le document décrit un TD de programmation logique contenant plusieurs exercices sur les entiers naturels, la cryptographie, les listes et le tri de listes. Les exercices portent sur l'écriture de prédicats Prolog pour représenter des opérations arithmétiques, vérifier des propriétés de listes et trier des listes.

Transféré par

mahdi ben abdallah
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

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