Énoncé question 1 TP 7

Programmation Avancée

Moderator: douinj

Post Reply
marti_r1
Posts: 66
Joined: 07 Oct 2021 20:16

Énoncé question 1 TP 7

Post by marti_r1 » 13 Dec 2021 17:18

Bonjour, il y a des choses que je ne comprends pas dans l’énoncé de la première question.

- TableDesMethodes est bien un Hashtable, comme indiqué dans le sujet, avec pour clé, une string : sqrt(double) ou min(double, double) et pour
valeur respectivement la méthode sqrt() ou min() ?

- Il ne faut charger dans ce tableau que les méthodes de java.lang.Math qui retournent un double et possèdent un ou deux paramètres de type
double et non pas charger toutes les méthodes de java.lang.Math, donc déjà faire un tri ?

- La méthode listeDesMethodes(), retourne à partir de TablesDesMethodes un tableau "classique" de String ne contenant que le nom des méthodes :
srt(double) ou min(double, double) ?
Pourquoi est-il indiqué : "Obtention de la liste ordonnée des méthodes, return la liste triée des fonctions issues de java.lang.Math" ?
En me basant sur TableDesMethodes qui n'est pas ordonné puisque c'est un Hashtable, je ne comprends pas cette notion de triée, triée comment et
pourquoi ?
Après test Quand je sélectionne les méthodes de retour double et avec un ou deux paramètres de type double, j'ai dans l'ordre dans
TablesDesMethodes :

ulp---public static double java.lang.Math.ulp(double)
nextUp---public static double java.lang.Math.nextUp(double)
sinh---public static double java.lang.Math.sinh(double)
asin---public static double java.lang.Math.asin(double)
cos---public static double java.lang.Math.cos(double)
nextDown---public static double java.lang.Math.nextDown(double)
toDegrees---public static double java.lang.Math.toDegrees(double)
floor---public static double java.lang.Math.floor(double)
cosh---public static double java.lang.Math.cosh(double)
log---public static double java.lang.Math.log(double)
sin---public static double java.lang.Math.sin(double)
IEEEremainder---public static double java.lang.Math.IEEEremainder(double,double)
tanh---public static double java.lang.Math.tanh(double)
atan2---public static double java.lang.Math.atan2(double,double)
nextAfter---public static double java.lang.Math.nextAfter(double,double)
max---public static double java.lang.Math.max(double,double)
rint---public static double java.lang.Math.rint(double)
ceil---public static double java.lang.Math.ceil(double)
pow---public static double java.lang.Math.pow(double,double)
expm1---public static double java.lang.Math.expm1(double)
abs---public static double java.lang.Math.abs(double)
atan---public static double java.lang.Math.atan(double)
log10---public static double java.lang.Math.log10(double)
sqrt---public static double java.lang.Math.sqrt(double)
tan---public static double java.lang.Math.tan(double)
toRadians---public static double java.lang.Math.toRadians(double)
hypot---public static double java.lang.Math.hypot(double,double)
signum---public static double java.lang.Math.signum(double)
copySign---public static double java.lang.Math.copySign(double,double)
getExponent---public static int java.lang.Math.getExponent(double)
round---public static long java.lang.Math.round(double)
cbrt---public static double java.lang.Math.cbrt(double)
log1p---public static double java.lang.Math.log1p(double)
acos---public static double java.lang.Math.acos(double)
min---public static double java.lang.Math.min(double,double)
exp---public static double java.lang.Math.exp(double)

Et le tableau renvoyé par la méthode listeDesMethodes c'est (en gros le même que dessus et dans le même ordre) :

ulp(double)
nextUp(double)
[...]
exp(double)

Donc déjà je ne comprends pas le test qui dit que la première méthode dans la liste doit être : IEEremainder(double, double) assertEquals(liste[0],"IEEEremainder(double, double)") or la première méthode c'est ulp ?
Cordialement

douinj
Posts: 462
Joined: 18 Mar 2009 15:46

Re: Énoncé question 1 TP 7

Post by douinj » 14 Dec 2021 12:43

Bonjour,

La table est déclarée : Map<String,Method>

Allez sur la diapositive 84 de http://lmi92.cnam.fr/nfp121/supports/NF ... ctions.pdf

Bonne fin de tp

marti_r1
Posts: 66
Joined: 07 Oct 2021 20:16

Re: Énoncé question 1 TP 7

Post by marti_r1 » 14 Dec 2021 14:31

Bonjour, je vous remercie pour votre réponse.
En effet hier soir sur le net j'ai vu sort() mais les exemples qui étaient associés permettaient d'ordonner les éléments par ordre alphabétique de A à Z ou de Z à A si c'était en ordre "inverse" de l'ordre alphabétique.
Du coup je me suis dit que j'allais essayer dans "ma classe de tests perso", en entrant tous les noms de méthodes à la main et appliquer sort() puis un println pour voire le résultat du classement, si c'est par ordre alphabétique ou pas.
Je l'ai pas encore fait pour avancer un peu la question 2.
Ce qui m'a interrogé c'était plus le critère de tri car je me suis dit peut être faut-il mettre les méthodes (double, double) avant les (double) puis les trier par ordre alphabétique or IEE aurait alors dû être après atan2 et copySign dans ce cas et non en premier.
Je vais bien regarder.
Merci pour votre indication.
Cordialement

Post Reply