Universit´e Bordeaux 1 Licence Informatique 2006/2007
Algorithmique et Structures de donn´ees
TD 4
Exercice 4.1
On suppose d’avoir d´efini un type abstrait ensemble pour manipuler des ensembles d’entiers.
Soient A, B et C des ensembles et X un entier, les op´erations d´efinies sur le type abstrait
ensemble sont :
les pr´edicats :
– Est-Vide(A)
– Appartient(X,A)
les proc´edures
– Ajouter(X,A)
– Supprimer(X,A)
– Vider(A)
modifiant l’ensemble pass´e en param`etre, et les proc´edures
– Intersection(A,B,C)
– Compl´ementaire(A,B)
– Union(A,B,C)
– Diff´erence-sym´etrique(A,B,C)
qui construisent l’ensemble r´esultat dans leur dernier param`etre.
Ecrire les fonctions ci-dessus dans le cas o`u les ensembles trait´es sont des parties de l’ensemble
E des entiers de 1 `a N et chaque ensemble est impl´ement´e par un vecteur [1..N] de bool´eens.
Exercice 4.2
Utilisation de piles
Evaluer `a l’aide des axiomes du type abstrait Pile l’expression suivante, o`u les primitives (
Cr´eerPile, PileVide ?, ValeurPile, Empiler, D´epiler) sont not´ees en abr´eg´e (CP, PV,
VP, EP, DP respectivement) :
VP(EP(EP(CP,a),VP(EP(DP(EP(CP,a)),b))))
Exercice 4.3
Utilisation de piles
On se donne trois piles P1,P2et P3. la pile P1contient une suite de nombres entiers positifs.
1. Ecrire un algorithme pour d´eplacer les entiers de P1dans P2de fa¸con `a avoir dans P2
tous les nombres pairs au dessous des nombres impairs.
2. Ecrire un algorithme pour copier dans P2les nombres pairs contenus dans P1. Le contenu
de P1apr`es ex´ecution de l’algorithme doit ˆetre identique `a celui avant ex´ecution. Les
nombres pairs doivent ˆetre dans P2dans l’ordre o`u ils appairaissent dans P1.