Verarbeitung mit vordefinierten Funktionen
Vordefinierte Listenfunktionen verwenden
Es gibt eine ganze Reihe vordefinierter Funktionen zur Verarbeitung von Listen (siehe Elm - List). Einige dieser Funktionen werden in den folgenden Beispielen verwendet.
Beispiel - den Mittelwert berechnen
Ziel ist es, die Durchschnittsnote (hier als Mittelwert der erreichten Punktzahlen) zu bestimmen. Wir benutzen hierzu vordefinierte Listenfunktionen.
> notenliste = [14,7,12,10,15,4,8,13,10,7,5,2,9,9,12]
: List number
> List.length notenliste
15 : Int
> List.sum notenliste
137 : number
> ...
9.133333333333333 : Float
Aufgabe 1
(a) Beschreibe, was die im REPL-Dialog benutzten vordefinierten Funktionen leisten.
(b) Der Ausdruck zur Berechnung des Mittelwerts fehlt noch im REPL-Dialog. Ergänze diesen Ausdruck. Beachte, dass man eine Division durchführen muss und dass man dabei geeignete Typumwandlungen vornehmen muss.
(c) Definiere eine Funktion für die Mittelwertberechnung.
Beispiel - die besten/schlechtesten Noten bestimmen
Du kannst mit Hilfe von vordefinierten Listenfunktionen die n besten bzw. die n schlechtesten Noten herausfinden. Der folgende Dialog demonstriert die Anwendung der benötigten Funktionen:
> notenliste = [14,7,12,10,15,4,8,13,10,7,5,2,9,9,12]
[14,7,12,10,15,4,8,13,10,7,5,2,9,9,12]
: List number
> List.take 3 notenliste
[14,7,12] : List number
> List.drop 3 notenliste
[10,15,4,8,13,10,7,5,2,9,9,12]
: List number
> List.sort notenliste
[2,4,5,7,7,8,9,9,10,10,12,12,13,14,15]
: List number
Aufgabe 2
(a) Teste die im REPL-Dialog benutzten vordefinierten Funktionen mit weiteren Funktionsaufrufen. Beschreibe möglichst präzise, was sie leisten.
(b) Erstelle Funktionen bestenoten n liste
und schlechtestenoten n liste
,
welche die n besten bzw. schlechtesten Noten zurückgeben.