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.
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:
Los comandos que se pueden usar dependen del estado en el que esté el cronómetro:
| 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 |
Para completar este ejercicio necesitas definir el tipo de dato stopwatch e implementar las funciones:
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.
Regístrate en Exercism para aprender y dominar Standard ML con 90 ejercicios y mentoría humana real, todo gratis.