i

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.

Suche

v
8.2.3.7.1 Model
Kopieren durch Anklicken

Rückmeldung geben