IFT 1810 A Énoncé du T.P. #3 / 35 points Session d’hiver 2012 Préparation: chez-vous, à partir du jeudi 15 mars Réalisation: durant vos démonstrations, les périodes de pratique libre (P.L.). Dépannage : par vos démonstrateurs (lors des démonstrations), les surveillants des périodes de pratique libre. Date de remise : Au plus tard le jeudi 12 avril 2012 Note : Le travail en équipe de deux (au maximum) est permis. Vous ne remettez alors qu'un travail par équipe. Barème : corrigé sur 35 points. Remarques : Veuillez consulter le site Web du cours aux cas où le cours est pertubé par la grève. Modalités de remise (comme le TP numéro 1) Numéro A ( éléments de base en langage Java ) : 15 points ( la matière jusqu’au 22 mars vous permet de faire le numéro A) Écrivez un programme en Java dont la méthode main comporte les déclarations, initialisations des 3 tableaux suivants : poste : tableaux des caractères avec les valeurs ‘P’, ‘A’, ‘P’, ‘O’, ‘P’, ‘O’, ‘P’, ‘O’, ‘A’ ( ‘A’ pour analyste, ‘P’ pour programmeur, ‘O’ pour opérateur) nbCafe : tableau des entiers avec les valeurs 4, 2, 0, 1, 6, 2, 0, 5, 3 age : tableau des entiers avec les valeurs 23, 28, 52, 28, 19, 18, 20, 34, 31 Écrivez des méthodes static et leurs appels en Java permettant 0. d’afficher le contenu des 3 tableaux après ces déclarations ; 1. de compter et d’afficher le nombre d’opérateurs ; 2. de compter et d’afficher le nombre de programmeurs ; 3. de déterminer et d’afficher la consommation maximale de café des opérateurs ; 4. de déterminer et d’afficher l’âge maximal des analystes; 5. de calculer et d’afficher la consommation moyenne de café des programmeurs ; 6. de calculer et d’afficher l’âge moyen des analystes. 7. de calculer et d’afficher l’âge moyen des secrétaires (poste ‘S’ qui n’existe pas). 8. de compter et d’afficher le nombre de programmeurs dont leur consommation de café dépasse la consommation moyenne de café des programmeurs. Critères de correction : 1. Bons résultats avec des méthodes (autre que main) : 9 x 1.5 points 2. Qualité du programme : 1.5 points TP3 , IFT 1810 CD, Hiver 2012 ( sur 35 points ) Numéro B ( 10 points : introduction à la POO avec Java ) : ( la matière jusqu’au 29 mars vous permet de faire le numéro B : classe String, méthodes en Java ) Soit la déclaration dans main : String telUdeM = "5143436111" ; 1) Écrivez le code en Java pour extraire des sous-chaînes appropriées puis afficher ce qui suit : Téléphone d’UdM : (514) 343-6111 2) Écrivez le code en Java pour compter par une méthode puis afficher ce qui suit : Il y a 1 fois le chiffre 6 dans le numéro de téléphone d’UdM. Il y a 4 fois le chiffre 1 dans le numéro de téléphone d’UdM. 3) Écrivez le code en Java pour déterminer puis afficher a) le caractère chiffre le plus petit dans telUdeM (ici ‘1’) b) le caractère chiffre le plus grand dans telUdeM (ici ‘6’) 4) Écrivez le code en Java pour calculer et afficher la somme des chiffres dans telUdeM ( 5 + 1 + 4 + . . . +1 + 1 + 1 qui vaut 29 ) Remarque : Avec int k = ‘7’ – ‘0’ ; k est un entier qui vaut 7 Critères de correction : 1. Bons résultats utilisant de méthodes (autres que main) 2. Qualité du programme : 4 x 2 points = 8 pts : 2 points Numéro C ( 10 points : classe et objet ) : ( la matière jusqu’au 05 avril vous permet de faire le numéro C) Rappels : 1 minute = 60 secondes 1 heure = 60 minutes = 3600 secondes 2 heures 10 minutes et 5 secondes = 2 x 3600 + 10 x 60 + 5 = 7805 secondes Une activité est caractérisée par son nom et sa durée en nombre de secondes. Votre programme en Java dispose de la classe incomplète Activite suivante : class Activite { private String nom ; // nom de l’activité private int duree ; // la durée en secondes . . . constructeurs et méthodes à écrire pour le TP3 . . . } // fin de la classe Activite L’instruction suivante dans main : Activite act1 = new act2 = new act3 = new act4 = new Activite("Examen final", 10800), Activite("Course 100 metres", 14), Activite("EXAMEN INTRA", 2, 0, 0), Activite("Faire le TP3", 6,30,15); TP3 , IFT 1810 CD, Hiver 2012 ( sur 35 points ) permet d’instancier quatre activités de durée respectivement 10800 secondes, 14 secondes, 2 heures, 0 minute et 0 seconde, 6 heures, 30 minutes et 15 secondes.. Écrivez deux constructeurs appropriés pour l’instanciation de ces quatre objets. Écrivez le code pour comparer puis afficher le résultat de la comparaison de la durée de act1 vs act3. L’affichage est du genre (du modèle) suivant : L’activité 1 est plus longue durée que l’activité 3 Écrivez le code permettant de tester si oui ou non, le nom de act1 et act2 contient le mot examen sans tenir compte de majuscules ou minuscules. Bonne chance et bon succès! Équipe du IFT 1810 hiver 2012. TP3 , IFT 1810 CD, Hiver 2012 ( sur 35 points )