Model
Das Datenmodell und grundlegende Funktionalität
Die Herzfrequenz für verschiedene Trainingszonen hängt in unserer
Modellierung nur von der maximalen Herzfrequenz und diese wiederum nur vom Alter ab.
Daher besteht unser Datenmodell nur aus einem Wert für das Alter.
Da das Alter zu Beginn nicht bekannt ist, und
da der Benutzer auch ungültige Werte eingeben kann, verwenden wir den Typ
Maybe Int für das Alter.
type alias Model =
{ alter : Maybe Int }
Die Funktion zur Berechnung der maximalen Herzfrequenz soll folgendermaßen aussehen:
maxpuls : Int -> Maybe Int
maxpuls alter =
if alter >= 12 && alter < 130 then
Just (220 - alter)
else
Nothing
Als Grundgerüst für die Anwendung können wir folgende Vorlage verwenden:
module Main exposing (..)
import Browser
import Html exposing (..)
import Html.Attributes exposing (..)
import Html.Events exposing (..)
view : Model -> Html Msg
view model =
text "Hier wird später die Benutzeroberfläche erzeugt."
update : Msg -> Model -> Model
update msg model =
model
main =
Browser.sandbox
{ init = initialModel
, update = update
, view = view
}
Aufgabe 1
Ergänze in der Vorlage die Definition für den Typ-Alias
Model
und die Funktion maxpuls.
Ergänze auch ein initales Modell initialModel.