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