Le gardien du temps


Cet exercice porte principalement sur les durées, mais il peut aussi servir pour un exercice plus général sur les temps.

Histoire

Sarah est chronométreuse. C'est d'ailleurs la meilleure qui soit. Quand des enfants lui demandent ce que fait un chronométreur, elle adore leur montrer un bocal rempli de sable blanc. Tu vois, dit-elle : « Je garde le temps en sécurité ! »

Son vrai métier n'a rien de si romantique, mais c'est pour elle un travail très intéressant et épanouissant. Elle prend l'avion pour se rendre à des compétitions sportives partout dans le monde, avec son sac plein de matériel de chronométrage, et mesure les temps de chaque athlète.

Dans cet exercice, tu vas écrire quelques fonctions pour le nouveau logiciel de chronométrage que Sarah t'a demandé de créer. Aucune erreur n'est permise : si un bug est découvert dans le logiciel par la suite, le prochain record du monde risque d'être invalidé ! Es-tu prêt à en porter la responsabilité ?

Notes

Les données issues du matériel de chronométrage sont en général un horodatage (une heure, une date et une heure, parfois même accompagnée du fuseau horaire). Leur précision est élevée : en général jusqu'à 1 milliseconde, parfois même 100 microsecondes. Chaque appareil possède une horloge interne qui doit être synchronisée avec tous les autres appareils.

Tâches

Voici des exemples de tâches qui correspondent à l'exercice du chronométreur :

  • Faire la différence entre le temps de départ et le temps d'arrivée pour obtenir la durée.
  • Un appareil de chronométrage se trouve dans un autre fuseau horaire. Calculer la différence entre 2 temps exprimés dans des fuseaux horaires différents.
  • Un appareil de chronométrage n'a pas de connexion internet. Pour les 10 premiers coureurs, un assistant te lit au téléphone les temps enregistrés. Ils sont saisis au format « 10h5m19.234s », qu'il faut analyser.
  • Le départ anticipé a été enregistré par la caméra vidéo de secours. Recalculer le nouveau temps de départ en soustrayant une durée donnée du temps de départ erroné.
  • Pendant une épreuve, beaucoup de temps parasites sont détectés. Pour pouvoir ignorer tous ces temps « indésirables », le chronométreur peut n'autoriser les temps d'un appareil de chronométrage que dans un certain intervalle après le départ. Par exemple, entre 10 min et 30 min après le départ. Écris une fonction de filtrage qui prend en entrée start time (horodatage), from et to (durées) et detection (horodatage).
  • Mettre en forme l'affichage d'une durée sur le tableau d'affichage au format « 1h5m19.234s +4.843 », où +4.843 correspond à l'écart avec le leader (l'athlète en première position).

Implémentations

  • Aucune pour l'instant

Voir aussi