632.1 / P Travaux pratiques – Série P04

publicité
632.1/PROGRAMMATION
/*Afficheletitresurlapremièreligne,puis,surladeuxièmeligne,
lesIntegercontenusdansaList,séparésparunespace.*/
privatestaticvoidaffiche(Stringtitre,java.util.ArrayListaList){
/****ÀCODER****/
}//affiche
Travauxpratiques–SérieP04
Objectifs
x
x
x
x
/**
*PpcmŞPluspetitcommunmultiplededeuxnombres
*
*Nometprénom:METTEZVOTRENOMICI
*
*/
publicclassPpcm{
EmployerlaWrapperclassInteger.
Employerlesclassesjava.util.ArrayListetjava.util.Iteratorpourrésoudredesproblèmes.
Implanterdesméthodesrépondantàunensembledespécifications.
EmployerladocumentationonͲlinedeJavapourytrouverdenouvellesinformationssurlesméthodes
desclassesutilesàlarésolutiond'unproblème.
Énoncé
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
commentairedelaméthodecalculer()delaclassefournie.
Àfaire
- CompléterlecommentairegénéraldelaclassePpcmeninscrivantvosnometprénom.
- Compléterlesméthodesaffiche(),multiples(),plusPetit()etmain()delaclassePpcm
fournie en remplaçant les commentaires /**** À CODER ****/ par du code fonctionnel
respectantlesspécificationsdonnéesencommentaires.
/*Retourneunejava.util.ArrayListcontenantlesmultiplesdenjusqu'àlimitedansl'ordrecroissant.*/
privatestaticjava.util.ArrayListmultiples(intn,intlimite){
/****ÀCODER****/
}//multiples
/*RetournelepluspetitIntegercontenuàlafoisdansa1eta2ordonnéesdansl'ordrecroissant.*/
privatestaticIntegerplusPetit(java.util.ArrayLista1,java.util.ArrayLista2){
/****ÀCODER****/
}//plusPetit
/*Calculeetaffichelepluspetitmultiplecommunden1etn2avecl'algorithmesuivant:
Şlesmultiplesden1sontcalculés(jusqu'àn1*n2)etstockésdansl'ordrecroissantdansmul1;
Şlesmultiplesden2sontcalculés(jusqu'àn1*n2)etstockésdansl'ordrecroissantdansmul2;
Şlepluspetitélémentcommunàmul1etmul2estcalculéetstockédansppcm;
Şmul1,mul2etppcmsontaffichésavecuntitresignifiant.*/
privatestaticvoidcalculer(intn1,intn2){
java.util.ArrayListmul1=multiples(n1,n1*n2);
java.util.ArrayListmul2=multiples(n2,n1*n2);
Integerppcm=plusPetit(mul1,mul2);
affiche("Multiplesde"+n1,mul1);System.out.println();
affiche("Multiplesde"+n2,mul2);System.out.println();
System.out.println("PPCM("+n1+","+n2+")="+ppcm);
}//calculer
/*ŞVérifielenombred'argumentsetafficheunmessaged'erreurexplicitesile
nombred'argumentsn'estpasexactementégalà2.
ŞAppellelaméthodecalculeraveccommeparamètreslesdeuxentiersfourniscommearguments.*/
publicstaticvoidmain(String[]args){
/****ÀCODER****/
}//main
}//Ppcm
- Contraintesimpératives:
ƒ Vousn'avezpasledroitdemodifierlecodedelaméthodecalculer()fournie,nilessignaturesdes
méthodesquevousdevezcompléter.
ƒ Lorsque cela s’avère nécessaire, une java.util.ArrayList est obligatoirement parcourue en
employantunjava.util.Iterator.
ƒ Vousrespecterezlesconventionsdeformationdesidentificateursetdedispositionducodequenous
avonsdéfiniesencours.
EXEMPLESDESORTIESPRODUITESPARLEPROGRAMME
**********************************************
ŞŞŞŞŞŞŞŞŞŞExécutionavecargumentsŞŞŞŞŞŞŞŞŞŞ
Multiplesde11
112233445566778899110121132143
Multiplesde13
13263952657891104117130143
Élémentsfournis
PPCM(11,13)=143
x LefichierPpcm.javaquicontientlecodesourcequevousdevezcompléter.
ŞŞŞŞŞŞŞŞŞŞExécutionavecargumentsŞŞŞŞŞŞŞŞŞŞ
Multiplesde15
153045607590105120135150165180195210225240255270285300
x Cefichierestfournisurleréseauen:
G:\_cours\11Ͳ12\IG\M632.1\ÉnoncésTP\P04
Multiplesde20
20406080100120140160180200220240260280300
Contraintesimpératives
PPCM(15,20)=60
x LecodequevousdéveloppezdoitêtrecompatibleavecJava1.4(compiléavecl'optiondecompilation–
source1.4ou,sousEditPlus,avecl'optionCompilation1.4[Ctrl+1]).
ŞŞŞŞŞŞŞŞŞŞExécutionavecargumentsŞŞŞŞŞŞŞŞŞŞ
Multiplesde18
1836547290108126144162180198216234252270288306324342360378396414432
x Délai: cetravailestàrendrelemardi27.03.2012à17h00auplustardenrecopianttousleséléments
nécessairessurleréseauen:
Multiplesde24
24487296120144168192216240264288312336360384408432
PPCM(18,24)=72
G:\_cours\11Ͳ12\IG\M632.1\RedditionTP\VotreNom\P04
ŞŞŞŞŞŞŞŞŞŞExécutionavecargumentsŞŞŞŞŞŞŞŞŞŞ
Multiplesde8
81624324048566472808896104112120128
Multiplesde16
163248648096112128
PPCM(8,16)=16
PeterDAEHNE
1/1
Version1.0
Téléchargement