Université de Gabes Institut Supérieur de l'informatique Médenine Département Informatique et Multimédia de .AU: 2014-2015 Section: LF2 SI Durée de l'épreuve: Ih Documents non autorisés Enseignant: Mohamed Belhassen Devoir Surveillé PROGRAMMATION ORIENTÉE OBJETS: JAVA Exercice 1 On souhaite créer un programme JAVA permettant de déterminer 'si le nombre N passé en paramètre du programme par l'utilisateur est parfait ou non. Un nombre N est dit parfait si la somme de ses diviseurs entiers positifs est égale à (2* ). Par exemple, 6 est un nombre parfait car la somme de diviseurs positifs de 6 qui sont 1, 2, 3 et 6 est égal à 12 (2 x 6 = 1 + 2 + 3 + 6 = 12). Exemple d'exécutions: • java exercicel 6 / /résultat: le nombre 6 est un nombre parfait . • java exercicel 9 / /résultat: le nombre 9 n'est pas un nombre parfait. Exercice 2 Nous souhaitons modifier le programme de l'exercice précédent de façon à déterminer les c premiers nombres parfaits se trouvant dans un intervalle [a,b] donné. Les trois paramètres a, b et c sont passés dans les paramètres de la commande lors de l'exécution du programme. ~ Si la fin de l'intervalle est atteinte sans trouver les c premiers nombres parfaits, le programme affiche: "La fin de l'intervalle est atteinte sans trouver le nombre voulu de nombres parfaits". Si le nombre de paramètres passés au programme est différent de trois, le programme affiche: "Vous devez passez 3 arguments au programme". Exemple d'exécutions: • java exercice2 1 30 2 résultat: Les 2 premiers nombres parfaits compris entre 1 et 30 sont: 6, 28, /* a==L, b=30, c=2 */ • java exercice2 1 5004 /* a=l, b=500, c=4 */ résultat: Les 4 premiers nombres parfaits compris entre 1 et 500 sont: 6, 28,496, La fin de l'intervalle est atteinte sans trouver le nombre voulu de nombres parfaits Remarque: Les nombres parfaits compris entre 1 et 10 000 sont: .6=1+2+3 • 28 = 1 + 2 + 4 T ï T 14 • 496 = 1 + 2 + 4 + 8 + 16 + 31 + 62 + 124 + 248 • 8 128 = 1 + 2 +4+ 8 + 16 + 32 + 64 + 127 + 254 + 508 + 1 016 + 2 032 + 4 064 Bon Travail