Je suis débutant et j’apprends actuellement le java sur coursera. J'ai un léger soucis sur l'exécution d'un code. Celui-ci me retourne de très près au résultat présenté sur l'exemple, mais pas tout à fait, et je n'arrive pas à trouver pourquoi.
Je ne peux de plus demander de l'aide sur le site car je suis le cours en dehors des dates de suivi/rendu.
Si quelqu'un s'y connaissant mieux en programmation et en java pouvait me donner quelques indications ce serait super !
Avec mon code, en utilisant les mêmes entrées, les valeurs de l'accélération en 4ème colonne sont légèrement différentes. De plus lors de la transition du sommet, dans mon code l'accélération fait un bond plus de 10 fois supérieurs à celui présent dans l'exemple.
Une bonne pratique de programmation est de mettre les nombres magiques en constante pour éviter qu'ils ne se promènent dans le code.
À défaut d'éviter les étourderies cela permet de les centraliser à un seul endroit et de les vérifier et corriger plus facilement. De plus leur donner un nom permet de mieux comprendre à quoi ils servent dans le calcul.
/**
* Multiplicateur pour la conversion de s³ en h.min²
* 60 * (3600/1000) * (3600/1000) = 777.6
*/
private static final double UNIT_CONVERTER_S3 = 777.6;
L'exemple de coursera présente la sortie suivante:
-----------------------------------------------------------------------
masse du cycliste (entre 40 et 180 ) ? 80
vent (entre -20 et +20 km/h) ? 40
vent (entre -20 et +20 km/h) ? -10
distance du parcours (<= 200 km) ? 50
distance au sommet du col (<= 40.0 km) ? 45
distance au sommet du col (<= 40.0 km) ? 30
pente moyenne jusqu'au sommet (<= 20 %) ? 5
pente moyenne après le sommet (<= 20 %) ? 10
0, 0.00, 30.00, 0.0000, 175.00
5, 1.05, 12.26, -0.0284, 172.50
10, 2.07, 12.12, -0.0286, 170.00
15, 3.07, 11.97, -0.0288, 167.50
20, 4.06, 11.83, -0.0290, 165.00
25, 5.04, 11.68, -0.0291, 162.50
30, 6.01, 11.54, -0.0293, 160.00
35, 6.97, 11.39, -0.0295, 157.50
40, 7.91, 11.24, -0.0297, 155.00
45, 8.84, 11.09, -0.0298, 152.50
50, 9.76, 10.95, -0.0300, 150.00
55, 10.66, 10.79, -0.0302, 147.50
60, 11.56, 10.64, -0.0304, 145.00
65, 12.44, 10.49, -0.0306, 142.50
70, 13.31, 10.34, -0.0308, 140.00
75, 14.16, 10.18, -0.0310, 137.50
80, 15.00, 10.03, -0.0312, 135.00
85, 15.83, 9.87, -0.0314, 132.50
90, 16.65, 9.71, -0.0316, 130.00
95, 17.45, 9.56, -0.0318, 127.50
100, 18.24, 9.40, -0.0320, 125.00
105, 19.02, 9.24, -0.0322, 122.50
110, 19.78, 9.07, -0.0324, 120.00
115, 20.53, 8.91, -0.0326, 117.50
120, 21.27, 8.75, -0.0328, 115.00
125, 21.99, 8.58, -0.0330, 112.50
130, 22.70, 8.42, -0.0332, 110.00
135, 23.39, 8.25, -0.0334, 107.50
140, 24.07, 8.08, -0.0336, 105.00
145, 24.74, 7.92, -0.0338, 102.50
150, 25.39, 7.75, -0.0341, 100.00
155, 26.03, 7.58, -0.0343, 97.50
160, 26.65, 7.40, -0.0345, 95.00
165, 27.26, 7.23, -0.0347, 92.50
170, 27.86, 7.06, -0.0350, 90.00
175, 28.44, 6.88, -0.0352, 87.50
180, 29.00, 6.70, -0.0354, 85.00
185, 29.56, 6.53, -0.0356, 82.50
## Bernard a atteint le sommet en 189 min.
190, 30.59, 48.28, 0.6407, 10.00
195, 34.62, 48.36, 0.0000, 10.00
200, 38.65, 48.36, 0.0000, 10.00
205, 42.68, 48.36, 0.0000, 10.00
210, 46.71, 48.36, 0.0000, 10.00
## Bernard est arrivé
214, 50.00, 48.36, 0.0000, 10.00
-----------------------------------------------------------------------
Avec mon code, en utilisant les mêmes entrées, les valeurs de l'accélération en 4ème colonne sont légèrement différentes. De plus lors de la transition du sommet, dans mon code l'accélération fait un bond plus de 10 fois supérieurs à celui présent dans l'exemple.
Merci de t’intéresser à mon problème ! ;)
Mais il fallait mettre :
Une bonne pratique de programmation est de mettre les nombres magiques en constante pour éviter qu'ils ne se promènent dans le code.
À défaut d'éviter les étourderies cela permet de les centraliser à un seul endroit et de les vérifier et corriger plus facilement. De plus leur donner un nom permet de mieux comprendre à quoi ils servent dans le calcul.
J'espère que tu n'as pas passé trop de temps sur mon code pour trouver cette erreur assez stupide. J'éviterais les nombres magiques à l'avenir...
Je marque comme résolu.