El guardián del tiempo


Este ejercicio trata sobre todo de duraciones de tiempo, pero podría usarse para un ejercicio general sobre tiempos.

Historia

Sarah es cronometradora. En realidad es la mejor que hay. Cuando los niños le preguntan qué hace una cronometradora, le encanta enseñarles un tarro lleno de arena blanca. ¿Ves?, dice: «¡Estoy manteniendo el tiempo a salvo!».

Su trabajo real no es tan romántico, pero para ella sigue siendo un trabajo muy interesante y satisfactorio. Vuela a eventos deportivos de todo el mundo con su bolsa llena de equipos de cronometraje y mide los tiempos de cada atleta.

En este ejercicio vas a escribir algunas funciones para el nuevo software de cronometraje que Sarah te ha pedido que crees para ella. No puede haber ningún error, ¡o el próximo récord mundial podría no ser válido si más tarde se encuentra un bug en el software! ¿Estás listo para asumir la responsabilidad?

Notas

Los datos que provienen del hardware de cronometraje suelen ser una marca de tiempo (hora, fecha y hora, o incluso con zona horaria). Tienen una precisión elevada, normalmente de hasta 1 milisegundo y, a veces, incluso de 100 microsegundos. Cada dispositivo de hardware tiene un reloj interno que debe sincronizarse con todos los demás dispositivos.

Tareas

Estas son tareas de ejemplo que encajan con el ejercicio del cronometrador:

  • Calcular la diferencia entre la hora de inicio y la de finalización para obtener la duración.
  • Un dispositivo de cronometraje está en otra zona horaria. Calcular la diferencia entre 2 tiempos con zonas horarias distintas.
  • Un dispositivo de cronometraje no tiene conexión a internet. Para los primeros 10 corredores, un ayudante te lee por teléfono los tiempos registrados. Se introducen con el formato «10h5m19.234s», que hay que parsear.
  • El inicio anticipado se registró con la cámara de vídeo de respaldo. Recalcular la nueva hora de inicio restando una duración dada a la hora de inicio incorrecta.
  • Durante un evento se detectan muchos tiempos sueltos. Para poder ignorar todos esos tiempos «no deseados», el cronometrador puede permitir tiempos de un dispositivo de cronometraje solo dentro de un intervalo de tiempo determinado después de la salida. Por ejemplo, entre 10 min y 30 min después de la salida. Crea una función de filtro con las entradas start time (marca de tiempo), from y to (duraciones) y detection (marca de tiempo).
  • Dar formato a la salida de una duración en la tabla de clasificación con el formato «1h5m19.234s +4.843», donde +4.843 es la diferencia con el líder (el atleta en primera posición).

Implementaciones

  • Ninguna todavía

Relacionado