i

Übungen

Aufgabe 1

Gar nicht so einfach: Versuche vorherzusagen, welche Rückgaben die in den folgenden REPL-Dialogen definierten Funktion liefern. Teste und erkläre die Ergebnisse.

> f1 = ( \ x -> x-1 ) >> ((+) 1)
<function> : number -> number
> f1 4
...
> f2 = ( \ liste -> liste |> List.filter ( \ x -> (x>0) ) |> List.map ( \ x -> 0-x) )
<function> : List number -> List number
> f2 [-3,0,2,4,-1]
...
> f3 = ( \ f -> List.map f (List.range 1 10) )
<function> : (Int -> a) -> List a
> f3 ((-) 0)
...
> f4 = ( \ liste -> liste |> List.sort |> (List.take 1) )
<function> : List comparable -> List comparable
> f4 [4,6,1,3]
...
> f5 = ( \ x -> x |> (++) "(" |> ( \ y -> y ++ ")" ) )
<function> : String -> String
> f5 "x"
...
> f6 = ( \ i -> List.filter (\ x -> (x>i)) )
<function> : comparable -> List comparable -> List comparable
> f6 3 [1,2,3,4,5]
...

Aufgabe 2

Kennst du das Quicksort-Verfahren zur Sortierung von Listen. Wenn nicht, dann kanst du es dir auf der Seite Quicksort anschauen.

Entwickle Implementierungen für dieses Sortiertverfahren

Variante 1: für Listen mit Zahlen aufsteigend sortiert

Variante 2: für Listen mit Daten mit einer übergebenen Datenvergleichsfunktion

Suche

v
100.110.2.12.4
inf-schule.de/entwuerfe/fp_elm_alteversion/elm_programme/funktionenerzeugen/uebungen
inf-schule.de/100.110.2.12.4
inf-schule.de/@/page/atxzyLk3yDPG3Woh

Rückmeldung geben