Datenstruktur
Wahl einer geeigneten Datenstruktur
Um ein einzelnes Spiel zu repräsentieren, benötigen wir eine Datenstruktur, die die Informationen über das Spiel speichert. Dazu könnten wir Records, Tupel oder eine Kombination aus beidem verwenden.
Hier findest du einige Vorschläge zur Modellierung eines Spiels.
-- Variante 1
type alias Spiel =
{ heimmannschaft : String
, gastmannschaft : String
, heimtore : Int
, gasttore : Int
}
-- Variante 2
type alias Spiel =
( String, String, Int, Int )
-- Variante 3
type alias Spiel =
{ mannschaften : ( String, String)
, tore : ( Int, Int )
}
-- Variante 4
type alias Spiel =
{ heimmannschaft : ( String, Int )
, gastmannschaft : ( String, Int )
}
-- Variante 5
type alias Spiel =
( ( String, Int ), ( String, Int ) )
-- Variante 6
type alias Spiel =
( ( String, String ), ( Int, Int ) )
Aufgabe 1
Bewerte die verschiedenen Varianten hinsichtlich ihrer Eignung zur Modellierung
eines Spiels.
Entscheide dich für eine Variante und erkläre, warum du diese gewählt hast.
Liste von Spielen
Um einen ganzen Spieltag darzustellen, benötigen wir eine Liste von Spielen.
Man kann auch für den Spieltag einen Typ-Alias definieren.
Da dies das gesamte Datenmodell unserer Anwendung beinhält,
nennen wir es Model
.
Der Name für den Typ-Alias ist frei wählbar. Model
ist jedoch eine
gängige Konvention, um das Datenmodell der gesamten Anwendung zu definieren.
-- Variante 1
type alias Model =
List Spiel
-- Variante 2
type alias Model =
{ spiele : List Spiel
}
Aufgabe 2
Begründe warum die du (k)einen der beiden Vorschläge für einen
Typ-Alias für die Liste von Spielen verwenden möchtest.