Tracks
/
Standard ML
Standard ML
/
Übungen
/
Stoppuhr mit Sekundenbruchteilen
Stoppuhr mit Sekundenbruchteilen

Stoppuhr mit Sekundenbruchteilen

Mittel

Einführung

Du bist schon immer aus purer Lust am Laufen gerannt: keine Trainingspläne, keine Stoppuhr, nur das Geräusch deiner Füße auf dem Asphalt. Doch jetzt, wo du dich einer Wettkampf-Laufgruppe angeschlossen hast, wird es ernst. Die Trainingseinheiten werden auf die Sekunde genau gestoppt, und jeder Sekundenbruchteil zählt. Um mithalten zu können, hast du dir die Split-Second Stopwatch zugelegt, ein schickes Hightech-Gadget, das bald dein neuer bester Freund sein wird.

Anleitung

Deine Aufgabe ist es, eine Stoppuhr zu bauen, mit der du Rundenzeiten präzise erfassen kannst.

Die Stoppuhr verwendet vier Befehle (start, stop, lap und reset), um Folgendes zu erfassen:

  1. Die erfasste Zeit der aktuellen Runde
  2. Zuvor aufgezeichnete Rundenzeiten

Welche Befehle verwendet werden können, hängt davon ab, in welchem Zustand sich die Stoppuhr befindet:

  1. Ready: Anfangszustand
  2. Running: Zeitmessung läuft
  3. Stopped: Zeitmessung angehalten
Befehl Startzustand Endzustand Wirkung
Start Ready Running Beginnt die Zeitmessung
Start Stopped Running Setzt die Zeitmessung fort
Stop Running Stopped Stoppt die Zeitmessung
Lap Running Running Fügt die aktuelle Runde den vorherigen Runden hinzu, setzt dann die aktuelle Runde zurück
Reset Stopped Ready Setzt die aktuelle Runde zurück und löscht die vorherigen Runden

Implementierung

Um diese Übung abzuschließen, musst du den Datentyp stopwatch definieren und die folgenden Funktionen implementieren:

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

Eine Dummy-Typdefinition ist bereits vorhanden, aber es liegt an dir, die Funktionen zu definieren und einen sinnvollen Datentyp zu erstellen.

Über GitHub bearbeiten Der Link öffnet sich in einem neuen Fenster oder Tab
Standard ML Exercism

Bereit, mit Stoppuhr mit Sekundenbruchteilen zu starten?

Melde dich bei Exercism an, um Standard ML mit 90 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.