A futás nálad mindig is az izgalomról szólt: nem kötötted menetrendhez, nem mérted az időt, csak a lábad dobogását élvezted a járdán. De mióta csatlakoztál egy versenyző futócsapathoz, a dolgok komolyra fordultak. Az edzéseket másodpercre pontosan mérik, és minden másodperc számít. Hogy tartsd az iramot, beszerezted a Másodperc-törtrészes stoppert: egy elegáns, csúcstechnológiás kütyüt, amely nemsokára az új legjobb barátod lesz.
A feladatod, hogy készíts egy stopperórát, amellyel pontosan nyomon követheted a köridőket.
A stopperóra négy parancsot használ (indítás, leállítás, kör és visszaállítás), hogy nyomon kövesse:
Az, hogy mely parancsok használhatók, attól függ, milyen állapotban van a stopperóra:
| Parancs | Kezdő állapot | Végállapot | Hatás |
|---|---|---|---|
| Indítás | Kész | Fut | Elkezdi mérni az időt |
| Indítás | Leállítva | Fut | Folytatja az idő mérését |
| Leállítás | Fut | Leállítva | Megállítja az idő mérést |
| Kör | Fut | Fut | Az aktuális kört hozzáadja a korábbiakhoz, majd visszaállítja az aktuális kört |
| Visszaállítás | Leállítva | Kész | Visszaállítja az aktuális kört és törli a korábbi köröket |
A feladat megoldásához definiálnod kell a stopwatch adattípust, és meg kell valósítanod a következő függvényeket:
A kódban már találsz egy ideiglenes típusdefiníciót, de a függvények definiálása és egy értelmes adattípus létrehozása a te feladatod.
Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) Standard ML nyelvet 90 feladat segítségével, valódi emberi mentorálással, mindez ingyen.