i

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.

> import Notenliste exposing (..)
> notenliste
[14,7,12,10,15,4,8,13,10,7,5,2,9,9,12]
    : List Int
> List.length notenliste
15 : Int
> List.sum notenliste
137 : Int
> ...
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 mittlere Note bestimmen

Die mittlere Note erhält man so: Man sortiert zunächst die Notenliste und nimmt bei einer ungeraden Anzahl von Noten genau in der Mitte der Auflistung und bei einer geraden Anzahl von Noten die beiden Noten genau in der Mitte der Auflistung.

Fall 1: ungerade Anzahl von Noten
[14,7,12,10,15,4,8,13,10,7,5,2,9,9,12] ->
[2,4,5,7,7,8,9,9,10,10,12,12,13,14,15] ->
[2,4,5,7,7,8,9] [9] [10,10,12,12,13,14,15] ->
[9]
Fall 1: gerade Anzahl von Noten
[10,14,7,12,10,15,4,8,13,10,7,5,2,9,9,12] ->
[2,4,5,7,7,8,9,9,10,10,10,12,12,13,14,15] ->
[2,4,5,7,7,8,9] [9,10] [10,10,12,12,13,14,15] ->
[9,10]

Zur Bestimmung dieser mittleren Noten kann man folgende vordefinierte Listenfunktionen verwenden.

> import Notenliste exposing (..)
> List.sort notenliste
[2,4,5,7,7,8,9,9,10,10,12,12,13,14,15]
    : List Int
> List.drop 7 (List.sort notenliste)
[9,10,10,12,12,13,14,15]
    : List Int
> List.take 1 (List.drop 7 (List.sort notenliste))
[9] : List Int

Aufgabe 2

(a) Teste die im REPL-Dialog benutzten vordefinierten Funktionen mit weiteren Funktionsaufrufen. Beschreibe möglichst präzise, was sie leisten.

(b) Entwickle einen analogen Ausdruck für eine Notenliste mit einer geraden Anzahl von Noten.

(c) Definiere eine Funktion zur Bestimmung der mittleren Note für eine beliebige Notenlste.

Suche

v
100.110.2.9.1.1.3
inf-schule.de/entwuerfe/fp_elm_alteversion/elm_programme/listen/notenliste/lernstrecke/verarbeiten
inf-schule.de/100.110.2.9.1.1.3
inf-schule.de/@/page/qP4Us4vmDBDLs0X6

Rückmeldung geben