Université des Sciences et Technologies de Lille
Licence Miage - Programmation 1 - TP
Exercices de Généricité
Exercice 1.
Reprenez le paquetage de gestion de piles de la fois précédente et
rendez-le générique. Attention, pour cela, vous devez supprimer
la procédure d'affichage Put.
Utilisez ce nouveau paquetage pour l'évaluation d'expressions postfixées.
Exercice 2.
On veut disposer d'un paquetage pour manipuler des ensembles finis dont les éléments sont discrets.
On choisit pour cela de représenter un ensemble par un tableau de booléens
indexé par les éléments de l'ensemble. Le type générique sera donc
type Element is (<>);
et les ensembles seront des tableaux de booléens indexés par des Element
Construisez ce paquetage avec les fonctionnalités suivantes:
-
une fonction Appartient qui teste si un élément appartient à un
ensemble,
-
une fonction Cardinal qui renvoie le nombre d'éléments contenu
dans un ensemble,
- une fonction Singleton qui prend en argument un Element et
construit l'ensemble contenant cet élément,
-
une fonction Union qui renvoie
l'union de deux ensembles,
- enfin une fonction Image qui convertit un ensemble en une
chaîne de caractères.
Testez-le le paquetage en l'instanciant par des ensembles d'entiers
et des ensembles de caractères.
Exercice 3.
On travaille sur des tableaux d'entiers, et on souhaite écrire trois
procédures qui
-
affichent tous les entiers pairs d'un tableau,
- affichent tous les entiers impairs,
- affichent les entiers compris entre -12 et 5.
et bien d'autres encore par la suite. Pour cela, il est décider
d'écrire une unique procédure, avec comme paramètre générique une fonction de
prototype Integer return Boolean. Ecrivez cette
procédure,
et instanciez-la.
Comment pourrait-on rendre le problème encore plus général ?