ESIEE - Unité IN3S02
Unité
IN3S02
Exemple de sujet de contrôle intermédiaire
Enoncé
Conditions d'examen : 1h10, sur feuille blanche, sans document,
notation sur 20 points
Consignes générales
Les solutions sont attendues en Java. Elles seront évaluées sur les plans
sémantique, syntaxique et de la qualité de programmation. Tout élément de
programme (classes, méthodes, ...) mis en oeuvre doit être défini par ou
en Java. L’utilisation de bibliothèques standard, sauf indication
contraire, est admis.
Problème
Soit à définir une classe définissant un ensemble, au
sens mathématique du terme, d’entiers à valeur dans la plage [0, nsup[. L’ensemble sera implanté sous la forme
d’un tableau de booléens, avec la sémantique suivante :
En supposant que tab soit le nom de ce tableau de booléens
:
tab[i] est
true ssi l’entier i appartient à l’ensemble.
Exemple. L’ensemble {3, 5, 9} peut être
représenté, par exemple, par le tableau tab[0..9] suivant :
|
false
|
false
|
false
|
true
|
false
|
true
|
false
|
false
|
false
|
true
|
Ecrire en Java une
classe Set définissant un tel ensemble :
- attributs
- un
tableau tab de booléens mémorisant
les éléments de l’ensemble selon la sémantique définie ci-dessus
- un entier cardinal mémorisant le cardinal de
l’ensemble (i.e. son nombre d’éléments)
- un entier capacity
mémorisant la capacité de l’ensemble (i.e. le nombre maximal
d’éléments stockables dans cet ensemble)
- constructeur
1
- paramètre :
un entier naturel nsup
- résultat : un
ensemble vide d’entiers à valeur dans [0, max(10, nsup)[
- constructeur
2
- paramètre :
un tableau t d’entiers naturels ordonné par valeurs strictement
croissantes
- résultat :
un ensemble dont les éléments sont les éléments de t
- méthode
capacity
- fonction
entière
- valeur de
retour : la capacité de l’ensemble
- méthode
isElement
- fonction
booléenne
- paramètre :
un entier n
- valeur de
retour : true ssi
n est élément de l’ensemble
- méthode
add
- procédure
- paramètre : un
entier n
- comportement : rien
si n est hors plage ou déjà élément de l’ensemble ; ajoute n à
l’ensemble sinon.
- méthode
complement
- procédure
- comportement :
réalise le complémentaire de l’ensemble
- méthode
inter
- fonction
de type Set
- paramètre :
un ensemble s de type Set
- valeur de
retour : l’ensemble intersection (au sens de
l’intersection ensembliste) de l’ensemble courant et de
l’ensemble paramètre s
- méthode
toString
- fonction
de type String
- valeur
de retour : la liste des éléments de l’ensemble ordonnés par valeurs
croissantes et séparés par des espaces
- méthode
addExtended
- procédure
- paramètre : un
entier naturel n
- comportement :
si n est hors plage alors étend
l’ensemble à la capacité n+1 finsi ;
ajoute n à l’ensemble.