Calcul de la vitesse avec des variables

Aus RailRoad&Co.-Wiki
Version vom 26. Februar 2025, 10:58 Uhr von Papybricolo (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „Si un programme logiciel (pas seulement TrainController) calcule toujours des valeurs entières, il est recommandé de "programmer prudemment" et de construire la formule de sorte que les divisions soient exécutées à la fin du calcul, pour que les arrondis ou les coupures sur des valeurs entières ne soient pris en compte dans le calcul qu’à la fin et non pas au préalable comme résultats intermédiaires.“)
Zur Navigation springenZur Suche springen
Verwendung
thumbs


Calcul de la vitesse dans TrainController

Distance de mesure

On assigne l’heure à une variable en deux endroits

  • ''t1=Heure actuelle (temps) au point de mesure 1
  • 't2=Heure actuelle (temps) au point de mesure 2
  • -t-delta=t2-t1' le temps écoulé entre deux points de mesure
Fig : point de mesure 1

On calcule ensuite la vitesse réelle :

  • v=s/t-delta*10000*3,6*Massstab

(delta x Échelle)

En appliquant l’idée ci-dessus, on peut facilement déterminer le temps de trajet entre deux points de mesure, mais pas la vitesse correcte du train.

Arithmétique des nombres entiers dans TrainController 9 et 10

Monsieur Freiwald décrit dans Forum l’utilisation des variables comme suit :

Le calcul ne fonctionne exactement que si l’on suppose tacitement que l’arithmétique en virgule flottante est utilisée. Mais nulle part ailleurs cela n’est documenté ou assuré.

Seules des valeurs entières peuvent être stockées dans variables de nombre et l’arithmétique associée est également basée sur l'arithmétique des entiers.

Si un programme logiciel (pas seulement TrainController) calcule toujours des valeurs entières, il est recommandé de "programmer prudemment" et de construire la formule de sorte que les divisions soient exécutées à la fin du calcul, pour que les arrondis ou les coupures sur des valeurs entières ne soient pris en compte dans le calcul qu’à la fin et non pas au préalable comme résultats intermédiaires.

Gleitkommaarithmetik in künftigen Versionen

Vielleicht werden wir dies in einer zukünftigen Version (Upgrade, nicht Update) auf Gleitkommaarithmetik umstellen. In einem Update der Version 10 geht das nicht mehr, weil es eine inkompatible Änderung wäre. Es ist nämlich nicht auszuschließen, dass andere Anwender die bestehende Ganzzahlarithmetik derzeit ganz bewusst für bestimmte Zwecke ausnutzen.

Weblinks


-- Uslex (Diskussion) 15:48, 13. Jan. 2024 (UTC)
bearbeitet: