1 Une table de taille fixe 2 Tables de taille variable

Transcription

1 Une table de taille fixe 2 Tables de taille variable
Université de Nice-Sophia Antipolis
POLYTECH. PeiP2
Vendredi 7 octobre 2016
Durée: 3h
Algorithmique et Programamtion Java
Travaux Pratiques – Séance no 5
Tableaux
standard. Quelle est la valeur par défaut des éléments de la table ?
3) Vous allez maintenant initialiser de façon aléatoire le tableau. Pour cela, ajoutez la
donnée membre suivante à votre classe Table :
p r i v a t e s t a t i c java . util . Random rand = new java . util . Random ();
rand est un objet type java.util.Random, qui peut produire une suite de nombres
aléatoires compris entre 0.0 et 1.0. La méthode nextDouble appliquée à l’objet rand
renvoie le prochain nombre aléatoire. La méthode nextDouble possède le prototype
suivant :
d o u b l e nextDouble ()
Dans ce TP, vous définirez une classe Table représentée par un tableau de réels et
vous utiliserez l’énoncé for pour parcourir ses éléments.
1
Modifiez le constructeur sans paramètre de la classe Table pour initialiser ses trois
valeurs avec des nombres compris entre −10 et 10.
4) Dans la classe de test, construisez une table initialisée de façon aléatoire et affichez-la.
Une table de taille fixe
Dans cette première partie, vous écrirez la classe Table avec un tableau de taille
fixe formé de trois réels.
/* *
* Une table représentée par un tableau de trois réels
*/
c l a s s Table {
//Tableau de réels. Le tableau est alloué pour chaque
//objet de la classe Table créé.
p r i v a t e d o u b l e [] valeurs ;
2
Tables de taille variable
Nous voulons maintenant construire des tables de différentes tailles. Modifiez la
classe Table de la manière suivante :
/* *
* Table de réels
*/
c l a s s Table {
//générateur aléatoire
p r i v a t e s t a t i c java . util . Random rand = new java . util . Random ();
/* *
* Constructeur initialisant un tableau de taille 3 réels
*/
p u b l i c Table () {
valeurs = new d o u b l e [3];
}
...
//Tableau de réels. Ce tableau est alloué pour chaque
//objet de la classe Table créé.
p r i v a t e d o u b l e [] valeurs ;
...
}
La donnée membre valeurs est déclarée mais n’est plus initialisée par défaut. C’est
au constructeur de créer un nouveau tableau de la taille désirée.
}
1) Ajoutez la méthode toString pour renvoyer une chaı̂ne de la forme :
( valeurs [0] , valeurs [1] , valeurs [2])
Rappelons que le prototype de cette fonction est le suivant :
5) Remplacez le constructeur de la classe Table par un constructeur avec un paramètre
de type entier n. Ce constructeur crée un tableau de n éléments et initialise chaque
élément de manière aléatoire. Vous vérifierez que la valeur de n est bien supérieure à 0.
6) Dans la classe de test, créez une table de taille 5 et affichez-la.
String toString ()
2) Dans un second fichier, écrivez la classe TestTable avec une fonction main afin de
tester la classe Table. Créez un nouvel objet de type Table et affichez-le sur la sortie
1
7) Ajoutez la méthode taille qui retourne la taille de la table. Son prototype est le
suivant :
i n t taille ()
2
Rappel : en Java, tout tableau dispose d’une donnée membre publique entière
nommée length qui contient sa taille.
8) Testez la méthode taille.
9) Écrivez les deux méthodes minimum et maximum qui retournent, respectivement, l’élément
de valeur minimale et l’élément de valeur maximale de la table. Leurs prototypes sont
les suivants :
d o u b l e minimum ()
d o u b l e maximum ()
10) Testez les méthodes minimum et maximum
11) Ajoutez la méthode moyenne qui retourne la moyenne des valeurs de la table. Son
prototype est le suivant :
d o u b l e moyenne ()
12) Testez la méthode moyenne.
13) Enfin, écrivez la méthode triSélection qui trie la table par sélection simple. Son
prototype est le suivant :
v o i d triSélection ()
14) Testez la méthode triSélection.
3