Exercices Java – Série P10

publicité
MODULE 623
Exercices Java – Série P10
Remarque
Ce TP est l’énoncé exact d’un contrôle continu effectué une autre année par des étudiants ayant
atteint le même niveau de compétence que vous dans la pratique du langage Java.
Problème
Calculer le plus petit commun multiple (ppcm) de deux nombres fournis en paramètres de la ligne
de commande en respectant un algorithme fixé. L'algorithme de calcul imposé est spécifié dans le
commentaire de la méthode calculer() de la classe fournie.
À faire
- Compléter le commentaire général de la classe Ppcm en inscrivant vos nom et prénom ainsi
que le numéro de la clé USB qui vous a été attribuée.
- Compléter les méthodes affiche(), multiples(), plusPetit() et main() de la classe
Ppcm 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 le code de la méthode calculer() fournie, ni les
signatures des méthodes que vous devez compléter.
ƒ Lorsque cela s’avère nécessaire, un java.util.Vector est obligatoirement parcouru en
employant un java.util.Iterator.
ƒ Vous respecterez les conventions de formation des identificateurs et de disposition du code
que nous avons définies en cours.
Important
La classe Ppcm 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]).
Annexes
- Listage de la classe Ppcm que vous devez compléter.
- Exemples de sorties produites par le programme.
Peter DAEHNE
Version 1.1
/**
* Ppcm - Plus petit commun multiple de deux nombres
*
* Nom et prénom: METTEZ VOTRE NOM ICI
* N° de clé USB: METTEZ VOTRE N° DE CLÉ USB ICI
*
*/
public class Ppcm {
/* Affiche le titre sur la première ligne, puis, sur la deuxième ligne,
les Integer contenus dans vect, séparés par un espace. */
private static void affiche (String titre, java.util.Vector vect) {
/* A CODER */
} // affiche
/* Retourne un java.util.Vector contenant les multiples de n jusqu'à limite dans l'ordre croissant. */
private static java.util.Vector multiples (int n, int limite) {
/* A CODER */
} // diviseurs
/* Retourne le plus petit Integer contenu à la fois dans v1 et v2 ordonnés dans l'ordre croissant. */
private static Integer plusPetit (java.util.Vector v1, java.util.Vector v2) {
/* A CODER */
} // communs
/* Calcule et affiche le plus petit multiple commun de n1 et n2 avec l'algorithme suivant:
- les multiples de n1 sont calculés (jusqu'à n1 * n2) et stockés dans l'ordre croissant dans mul1;
- les multiples de n2 sont calculés (jusqu'à n1 * n2) et stockés dans l'ordre croissant dans mul2;
- le plus petit élément commun à mul1 et mul2 est calculé et stocké dans ppcm;
- mul1, mul2 et ppcm sont affichés avec un titre signifiant. */
private static void calculer (int n1, int n2) {
java.util.Vector mul1 = multiples(n1, n1 * n2);
java.util.Vector mul2 = multiples(n2, n1 * n2);
Integer ppcm = plusPetit(mul1, mul2);
affiche("Multiples de " + n1, mul1); System.out.println();
affiche("Multiples de " + n2, mul2); System.out.println();
System.out.println("PPCM(" + n1 + ", " + n2 + ") = " + ppcm);
} // calculer
/* - Vérifie le nombre d'arguments et affiche un message d'erreur explicite si le
nombre d'arguments n'est pas exactement égal à 2.
- Appelle la méthode calculer avec comme paramètres les deux entiers fournis comme arguments. */
public static void main (String[] args) {
/* A CODER */
} // main
} // Ppcm
EXEMPLES DE SORTIES PRODUITES PAR LE PROGRAMME:
***********************************************
---------- Execution avec arguments ---------Multiples de 11
11 22 33 44 55 66 77 88 99 110 121 132 143
Multiples de 13
13 26 39 52 65 78 91 104 117 130 143
PPCM(11, 13) = 143
---------- Execution avec arguments ---------Multiples de 15
15 30 45 60 75 90 105 120 135 150 165 180 195 210 225 240 255 270 285 300
Multiples de 20
20 40 60 80 100 120 140 160 180 200 220 240 260 280 300
PPCM(15, 20) = 60
---------- Execution avec arguments ---------Multiples de 18
18 36 54 72 90 108 126 144 162 180 198 216 234 252 270 288 306 324 342 360 378 396 414 432
Multiples de 24
24 48 72 96 120 144 168 192 216 240 264 288 312 336 360 384 408 432
PPCM(18, 24) = 72
Téléchargement