Rutas
/
Standard ML
Standard ML
/
Ejercicios
/
Cronómetro de precisión
Cronómetro de precisión

Cronómetro de precisión

Media

Introducción

Siempre has corrido por pura emoción: sin horarios, sin cronómetros, solo el sonido de tus pies sobre el asfalto. Pero ahora que te has unido a un equipo de running competitivo, las cosas se están poniendo serias. Los entrenamientos se cronometran al segundo y cada fracción de segundo cuenta. Para seguir el ritmo, te has hecho con el Cronómetro de Fracciones de Segundo, un gadget elegante y de alta tecnología que está a punto de convertirse en tu nuevo mejor amigo.

Instrucciones

Tu tarea consiste en construir un cronómetro que lleve un registro preciso de los tiempos de vuelta.

El cronómetro usa cuatro comandos (start, stop, lap y reset) para llevar la cuenta de:

  1. El tiempo registrado de la vuelta actual
  2. Los tiempos de vuelta registrados previamente

Los comandos que se pueden usar dependen del estado en el que esté el cronómetro:

  1. Preparado: estado inicial
  2. En marcha: registrando el tiempo
  3. Parado: sin registrar el tiempo
Comando Estado inicial Estado final Efecto
Start Preparado En marcha Empezar a registrar el tiempo
Start Parado En marcha Reanudar el registro del tiempo
Stop En marcha Parado Detener el registro del tiempo
Lap En marcha En marcha Añadir la vuelta actual a las anteriores y, después, reiniciar la vuelta actual
Reset Parado Preparado Reiniciar la vuelta actual y borrar las vueltas anteriores

Implementación

Para completar este ejercicio necesitas definir el tipo de dato stopwatch e implementar las funciones:

  • newStopwatch
  • start
  • stop
  • lap
  • reset
  • advanceTime
  • getState
  • currentLap
  • total
  • previousLaps

Encontrarás una definición de tipo ficticia ya en su sitio, pero depende de ti definir las funciones y crear un tipo de dato que tenga sentido.

Editar en GitHub El enlace se abre en una ventana o pestaña nueva
Standard ML Exercism

¿Listo para empezar Cronómetro de precisión?

Regístrate en Exercism para aprender y dominar Standard ML con 90 ejercicios y mentoría humana real, todo gratis.