632.1 / P Travaux pratiques – Série P05

Transcription

632.1 / P Travaux pratiques – Série P05
632.1 / PROGRAMMATION
Travaux pratiques – Série P05
Objectifs  Employer la Wrapper class Integer et les classes de bibliothèque java.util.ArrayList pour résoudre des problèmes.  Implanter des méthodes répondant à un ensemble de spécifications.  Employer la documentation on‐line de Java pour y trouver de nouvelles informations sur les méthodes des classes utiles à la résolution d'un problème. Exercice 1 – énoncé exact de la partie programmation d’un ancien contrôle continu Vous travaillez dans un cinéma qui comprend deux salles de projection. Vous êtes chargés d’écrire un programme qui effectue différents calculs à partir du relevé quotidien du nombre de spectateurs ayant fréquenté chacune des deux salles. Des jours de relâche (jours où aucun film n’est projeté) sont définis pour chacune des deux salles. À faire 1. Compléter le commentaire général de la classe P05Kino en inscrivant vos nom et prénom ainsi que le numéro de la clé USB qui vous a été attribuée. 2. Compléter les méthodes listeAffluences(), plusGrosseAffluence(), et nbJoursFermCommuns() de la classe P05Kino fournie en remplaçant les commentaires /**** A CODER ****/ par du code fonctionnel respectant les spécifications données en commentaires. Contraintes impératives  Vous n'avez pas le droit de modifier les signatures des méthodes que vous devez compléter.  Vous pouvez créer des méthodes supplémentaires si nécessaire. En ce cas, vous veillerez à soigneusement décrire leur effet ainsi que la signification de leurs éventuels paramètres dans un bref commentaire placé en tête de la méthode.  Vous respecterez les conventions de formation des identificateurs et de disposition du code que nous avons définies en cours. Les tâches spécifiques identifiées seront implantées sous forme de méthodes, éventuellement paramétrées.  La classe P05Kino doit être compatible avec Java 1.4 (compilée avec l'option –source 1.4 ou, sous EditPlus, avec l'option Compilation 1.4 [Ctrl+1]). Est fourni Sous forme compilée, la classe JeuTest fournissant la méthode jeu() définie comme suit : /** Retourne le jeu de test n°k (0 <= k <= 2) pour la salle n°noSalle dans un java.util.ArrayList */ public static java.util.ArrayList jeu (int k, int noSalle) Cette méthode retourne un java.util. ArrayList contenant les relevés quotidiens du nombre de spectateurs pour la salle numéro noSalle ; les relevés sont représentées sous la forme d’instances de la wrapper class Integer. Les jours de relâche sont indiqués par une valeur numérique spéciale représentée par la constante RELACHE (définie dans la classe P05Kino). La méthode main() de la classe P05Kino invoque cette méthode pour créer l’un des trois jeux de test en fonction du paramètre (0, 1 ou 2) fourni lors du lancement du programme. La méthode main() est déjà implantée, vous n’avez donc pas à vous soucier de cet aspect du problème. 1/2
Version 1.3
Exemples d’exécution avec les jeux de test fournis Voici les résultats que vous devez obtenir en exécutant le programme avec les trois jeux de test fournis. L’obtention de ces résultats ne garantit évidemment pas que le programme que vous avez conçu est correct et complet. Vous devez également mener des tests d’exécution personnels, adaptés au code que vous avez développé. ‐‐‐‐‐‐‐‐‐‐ Exécution avec arguments ‐‐‐‐‐‐‐‐‐‐ On travaille avec le jeu de test n°2 ************************************ Les deux salles ont 1 jours de fermeture en commun La plus grosse affluence pour l'ensemble des deux salles est : 9 Liste des affluences de la salle 1 : [3, 7, 2, 7, 1, R, 2, 2, 7, 6] Liste des affluences de la salle 2 : [2, 0, R, 2, 8, R, 4, 4, R, 9] Normal Termination ‐‐‐‐‐‐‐‐‐‐ Exécution avec arguments ‐‐‐‐‐‐‐‐‐‐ On travaille avec le jeu de test n°1 ************************************ Les deux salles ont 0 jours de fermeture en commun La plus grosse affluence pour l'ensemble des deux salles est : 248 Liste des affluences de la salle 1 : [72, 197, 43, 16, 37, 78, R, 131, 16, 3, 218, 69, 156, R, 51, 132, 46, 81, 134, 209, R, 171, 248, 75, 155, 2, 10, R, 53] Liste des affluences de la salle 2 : [59, 226, 145, 229, 230, 67, 117, 177, 88, 121, 41, 13, R, 236, 41, 170,78, 98, 31, 73, 170, 24, 179, 144, 163, R, 95, 200, 76] Normal Termination ‐‐‐‐‐‐‐‐‐‐ Exécution avec arguments ‐‐‐‐‐‐‐‐‐‐ On travaille avec le jeu de test n°0 ************************************ Les deux salles ont 5 jours de fermeture en commun La plus grosse affluence pour l'ensemble des deux salles est : 245 Liste des affluences de la salle 1 : [184, 8, 232, 217, 189, R, (...) , 6, R, 86] Liste des affluences de la salle 2 : [215, 222, 157, R, 245, 90, (...) , 149, R, 28] Normal Termination Affichage incomplet ! Affichage incomplet ! Éléments fournis  Le fichier JeuTest.class qui contient la version compilée de la classe qui génère le jeu de test et le fichier P05Kino.java qui contient le code source à compléter  Ces fichiers sont fournis sur le réseau en : G:\_cours\13‐14\IG\632.1\ÉnoncésTP\P05 Contraintes impératives  Le code que vous développez doit être compatible avec Java 1.4 (compilé avec l'option de compilation –
source 1.4 ou, sous EditPlus, avec l'option Compilation 1.4 [Ctrl+1]).  Délai : ce travail est à rendre en recopiant tous les éléments nécessaires sur le réseau en : G:\_cours\13‐14\IG\632.1\RedditionTP\VotreNom\P05 Groupe 1 (PD) : mercredi 02.04.2014 à 18h00 Groupe 2 (CS) : lundi 31.03.2014 à 18h00 Groupe 3 (CS) : vendredi 04.04.2014 à 18h00 2/2
Version 1.3