Übungen: Eigenschaften von Funktionen
Aufgabe 1: Weitere Racket-Funktionen
Im Folgenden findest du eine Auflistung verschiedener Racket-Funktionen. Teste die Funktionen in der REPL von DrRacket, finde heraus, welche Datentypen als Übergabedaten akzeptiert werden und von welchem Datentyp die Rückgabedaten sind. Gebe anschließend die korrekte Signatur an.
(a) floor
(b) <
(c) modulo
(d) string=?
(e) not
Aufgabe 2: Verkettung von Funktionen
Wir betrachten drei Funktionen mit den folgenden Signaturen:
string -> natural
integer natural -> real
integer -> boolean
Ordne jeder der Funktionsverkettungen eine der folgenden drei Möglichkeiten zu und begründe deine Entscheidung.
- Die Funktionsverkettungen funktioniert garantiert.
- Die Funktionsverkettungen funktioniert möglicherweise.
- Die Funktionsverkettungen funktioniert nicht.
(a)
(func1 12)
(b)
(func2 -3 (func1 "string"))
(c)
(func3 (func1 "dreizehn"))
(d)
(func3 (func2 0 12))
(e)
(func3 (func3 42))