Bloque dans un exercice (distance)

Discutez d'informatique ici !
z^42
Membre Naturel
Messages: 60
Enregistré le: 21 Sep 2014, 16:18

Bloque dans un exercice (distance)

par z^42 » 30 Oct 2014, 15:56

Bonjour,

Je ne sais pas comment procéder dans cet algorithme. Je n'ai pas très compris la consigne. Pourquoi faire la division à la fin.
Pouvez vous me donner des pistes svp.

Sujet:
On cherche à écrire une fonction qui calcule la distance parcourue en km, à partir de la vitesse, en noeuds, et du temps du voyage, en jours.

On introduira des variables temporaires mhSpeed et hours, représentant respectivement la vitesse en mètres par heures et la durée du voyage en heures.

On « rappelle » qu'un noeud vaut 1,852 km/h.

On utilise des m/h et non des km/h, car on ne manie que des entiers. Pour rester le plus proche possible du résultat, on retarde donc la division au dernier moment.

Merci d'avance
Bonne journée



Avatar de l’utilisateur
fatal_error
Modérateur
Messages: 6492
Enregistré le: 22 Nov 2007, 14:00

par fatal_error » 30 Oct 2014, 16:06

la division introduit une erreur dans le résultat car la représentation du nombre doit tenir sur un nombre de bit fini (32 bits par exemple), du coup tu calcules en nombre exact et tout à la fin tu fais ta dévision
la vie est une fête :)

Avatar de l’utilisateur
Sake
Habitué(e)
Messages: 1392
Enregistré le: 17 Juil 2014, 23:32

par Sake » 30 Oct 2014, 16:08

Salut,
z^42 a écrit:Bonjour,

Je ne sais pas comment procéder dans cet algorithme. Je n'ai pas très compris la consigne. Pourquoi faire la division à la fin.
Pouvez vous me donner des pistes svp.

Sujet:
On cherche à écrire une fonction qui calcule la distance parcourue en km, à partir de la vitesse, en noeuds, et du temps du voyage, en jours.

On introduira des variables temporaires mhSpeed et hours, représentant respectivement la vitesse en mètres par heures et la durée du voyage en heures.

On « rappelle » qu'un noeud vaut 1,852 km/h.

On utilise des m/h et non des km/h, car on ne manie que des entiers. Pour rester le plus proche possible du résultat, on retarde donc la division au dernier moment.

Merci d'avance
Bonne journée

Si tu as une valeur de vitesse en m/h, il faut bien diviser cette valeur par 1852 pour avoir des noeuds. Seulement, tes calculs intermédiaires, s'ils font intervenir des réels, seront effectués à virgule flottante. Tu perdras donc de la précision dans ces étapes intermédiaires.

 

Retourner vers ϟ Informatique

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 2 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite