i

Übungen

Aufgabe 1

Im folgenden REPL-Dialog fehlen die Ergebnisse.

> verdoppelt x = 2*x
<function> : number -> number
> List.map verdoppelt [11,2,17,45,32]
...
> gerade x = (modBy 2 x == 0)
<function> : Int -> Bool
> List.map gerade [3,7,12,4,5,8]
...
> List.filter gerade [3,7,12,4,5,8]
...
> dupliziert s = s ++ s
<function> : appendable -> appendable
> List.map dupliziert ["hi","ho","hu"]
...
> enthaelt_a wort = String.contains "a" wort  
<function> : String -> Bool
> List.map enthaelt_a ["Hund","Katze","Maus","Affe"]
...

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

Aufgabe 2

Im folgenden REPL-Dialog fehlen die Ergebnisse.

> add x y = x+y    
<function> : number -> number -> number
> List.foldr add 0 [0,1,2,3,4,5]
...
> mul x y = x*y                 
<function> : number -> number -> number
> List.foldr mul 1 (List.range 1 5)
...
> List.foldr (++) "" ["a","b","c"]   
...
> List.foldl (++) "" ["a","b","c"]
...
> List.foldr (&&) True [3>1,4<6,2<=2]
...
> List.foldr (::) [] ['a','b','c']
...

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

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 den map-Operator.

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 den filter-Operator.

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. Löse ohne Rekursion.

Suche

v
110.2.10.2
inf-schule.de/fp_elm_alteversion/elm_programme/listenoperatoren/uebungen
inf-schule.de/110.2.10.2
inf-schule.de/@/page/VUQKbpnAEPGkNxdZ

Rückmeldung geben