i

Übungen

Aufgabe 1

Im folgenden REPL-Dialog fehlen die Ergebnisse.

> liste = [1,2,3]
[1,2,3] : List number
> 0::liste
...
> 0::0::liste
...
> [0]++liste
...
> liste++[0]
...
> liste
...

(a) Stelle Vermutungen auf, was an Stelle der drei Punkte jeweils erscheint. Überprüfe, indem du den Dialog selbst führst.

(b) Der Dialog verdeutlicht auch, dass die beiden Funktionen :: und ++ jeweils neue Listen erzeugen. Woran erkennt man das hier? Erläutere.

Aufgabe 2

Hier werden vordefinierte Listenfunktionen benutzt. Informiere dich vorab auf Elm - List, was die Funktionen leisten. Führe anschließend den folgenden REPL-Dialog und erkläre die Ergebnisse.

> List.range 1 10
...
> List.sum (List.range 0 20)
...
> List.repeat 3 'o'
...
> List.reverse (List.sort ['e','u','a','i','o'])
...
> (List.range 2 4) :: (List.range 6 8) :: []              
...
> List.concat ((List.range 2 4) :: (List.range 6 8) :: [])
...

Hinweis: Man muss nicht alle diese vordefinierten Funktionen aktiv kennen. Man schlägt sie bei Bedarf in einer Dokumentation nach.

Aufgabe 3

Die Kursarbeit ist schlecht ausgefallen. Alle Noten sollen um 1 Punkt erhöht werden.

Signatur:
plus1: List Int-> List Int
Beispiele:
plus1 [2,5,7,4,10,12,3] -> [3,6,8,5,11,13,4]

Entwickle eine Funktionsdefinition für die Funktion plus1. Nutze Rekursion.

Aufgabe 4

Die Kursarbeit ist schlecht ausgefallen. Es sollen alle Noten zusammengestellt werden, die unter 4 Punkte betragen.

Signatur:
unter4: List Int-> List Int
Beispiele:
unter4 [2,5,7,4,0,10,1,12,3] -> [2,0,1,3]

Entwickle eine Funktionsdefinition für die Funktion unter4. Nutze Rekursion.

Aufgabe 5

Die Ergebnisse von Lottoziehungen werden mit Hilfe von Listen verwaltet.

module Lottozahlen exposing (..)

lottoziehungen: List (List Int)
lottoziehungen = [
    [3,6,13,23,40,41],
    [5,6,20,25,44,49],
    [10,21,22,23,39,41],
    [1,11,17,45,47,48]]

Entwickle eine Funktion, mit der man ermitteln kann, wie oft eine vorgegebene Zahl in den Ziehungen vorgekommen ist.

Suche

v
100.110.2.9.3
inf-schule.de/entwuerfe/fp_elm_alteversion/elm_programme/listen/uebungen
inf-schule.de/100.110.2.9.3
inf-schule.de/@/page/5iIAZ435axnadanr

Rückmeldung geben