i

Daten hinzufügen

Optionale Vorbereitung

Du benötigst die Notenliste in den weiteren Abschnitten noch einige male. Damit du diese nicht immer in die REPL kopieren musst, kannst du mit elm init ein neues Projekt erzeugen und dann die Datei Notenliste.elm mit folgendem Inhalt anlegen. (Wenn du nicht mehr weißt wie man ein Projekt anlegt, kannst du dies im Abschnitt Vertiefung - Module und Elm-Projekte noch einmal nachlesen.)

module Notenliste exposing (..)

notenliste = [14,7,12,10,15,4,8,13,10,7,5,2,9,9,12]

Du kannst dann in der REPL das Modul importieren und auf die Notenliste zugreifen:

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

Alle Inhalte, die du nicht nur kurz in der REPL testen möchtest, sondern gerne speichern möchtest, kannst du in der Datei Notenliste.elm speichern und danach in der REPL darauf zugreifen.

Eine Notenliste ergänzen

Es gab zahlreiche Nachschriften bei der letzten Kursarbeit. Es müssen also Noten in die Liste hinzugefügt werden.

> notenliste = [14,7,12,10,15,4,8,13,10,7,5,2,9,9,12]
    : List number
> notenliste2 = 11 :: notenliste
[11,14,7,12,10,15,4,8,13,10,7,5,2,9,9,12]
    : List number
> notenliste3 = notenliste2 ++ [3, 6]
[11,14,7,12,10,15,4,8,13,10,7,5,2,9,9,12,3,6]
    : List number
> notenliste4 = List.append [13] notenliste3
[13,11,14,7,12,10,15,4,8,13,10,7,5,2,9,9,12,3,6]
    : List number

Aufgabe 1

(a) Analysiere den REPL-Dialog und führe selbst ähnliche Dialoge durch. Beschreibe, was die Listenoperatoren :: und ++ bewirken. Gehe dabei auf den Unterschied zwischen den beiden Operatoren ein.

(b) Verdeutliche anhand von Beispielen, dass ++ und List.append dasselbe bewirken, nur unterschiedliche Darstellungen verwenden.

Aufgabe 2

Erläutere am folgenden Beispiel und weiteren eigenen Experimenten, dass beim Hinzufügen von Daten in eine Liste diese Ausgangsliste nicht verändert wird, sondern eine neue Liste erzeugt wird.

> notenliste = [14,7,12,10,15,4,8,13,10,7,5,2,9,9,12]
    : List number
> 11 :: notenliste
[11,14,7,12,10,15,4,8,13,10,7,5,2,9,9,12]
    : List number
> notenliste
[14,7,12,10,15,4,8,13,10,7,5,2,9,9,12]
    : List number

Suche

v
8.2.2.3.1.1.2
dev.inf-schule.de/deklarativ/fp_elm/elm_programme/listen/notenliste/lernstrecke/hinzufuegen
dev.inf-schule.de/8.2.2.3.1.1.2
dev.inf-schule.de/@/page/TfwGJNRcs4SxC3Tc

Rückmeldung geben