Update of exercises
parent
f79e3662c0
commit
04dda27e57
|
@ -1,7 +1,8 @@
|
|||
# Lösung: Erste Schritte
|
||||
|
||||
|
||||
```$2#!/usr/bin/env -S clojure -M
|
||||
```clojure
|
||||
#!/usr/bin/env -S clojure -M
|
||||
|
||||
(println "Produktname: ")
|
||||
(def produkt (read-line))
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
# Lösung: Maps: Lagerverwaltung
|
||||
|
||||
|
||||
```$2#!/usr/bin/env -S clojure -M
|
||||
```clojure
|
||||
#!/usr/bin/env -S clojure -M
|
||||
|
||||
(def lager {
|
||||
:PS5 10
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
# Lösung: Kontrolltrukturen: Lagerverwaltung, Teil 2
|
||||
|
||||
|
||||
```$2#!/usr/bin/env -S clojure -M
|
||||
```clojure
|
||||
#!/usr/bin/env -S clojure -M
|
||||
|
||||
(def lager {
|
||||
:PS5 10
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
# Lösung: Map und Reduce: Gewinnermittlung für die Abzock GmbH
|
||||
|
||||
|
||||
```$2#!/usr/bin/env -S clojure -M
|
||||
```clojure
|
||||
#!/usr/bin/env -S clojure -M
|
||||
|
||||
(def verkaeufe-stueckzahlen {
|
||||
:PS5 [ 10, 5, 8, 13, 22, 42, 110 ],
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
# Lösung: Multi-Arity-Funktion
|
||||
|
||||
|
||||
```$2(defn my-average
|
||||
```clojure
|
||||
(defn my-average
|
||||
([a b] (/ (+ a b) 2))
|
||||
([a b c d] (/ (+ a b c d) 4))
|
||||
([a b c d e f] (/ (+ a b c d e f) 6)))
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
# Lösung: Funktion als Rückgabewert
|
||||
|
||||
|
||||
```$2(defn plus-n-fn
|
||||
```clojure
|
||||
(defn plus-n-fn
|
||||
"Liefert eine Funktion zurück, die genau ein
|
||||
Argument nimmt und dieses Argument zu
|
||||
`n` addiert."
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
# Lösung: apply und Funktionen als Übergabewerte
|
||||
|
||||
|
||||
```$2(defn triple-apply
|
||||
```clojure
|
||||
(defn triple-apply
|
||||
"Wendet die Funktion `f` drei mal hintereinander auf die Argumente
|
||||
`args` an und gibt die Summe der Ergebnisse zurück."
|
||||
[f & args]
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
# Lösung: Vor- und Nachbedingung
|
||||
|
||||
|
||||
```$2(defn sqrt [n]
|
||||
```clojure
|
||||
(defn sqrt [n]
|
||||
{ :pre [(>= n 0)]
|
||||
:post [(> % 0)]}
|
||||
(Math/sqrt n))
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
# Lösung: Tail-Recursion
|
||||
|
||||
|
||||
```$2(defn prod-recur
|
||||
```clojure
|
||||
(defn prod-recur
|
||||
"Berechnet das Produkt einer Reihe von Zahlen `zahlen` unter
|
||||
Verwendung von loop und recur."
|
||||
[zahlen]
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
# Lösung: Was hoppelt den da?
|
||||
|
||||
|
||||
```$2#!/usr/bin/env -S clojure -M
|
||||
```clojure
|
||||
#!/usr/bin/env -S clojure -M
|
||||
|
||||
(def generationen 14)
|
||||
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
# Lösung: cond
|
||||
|
||||
|
||||
```$2(defn test-positive
|
||||
```clojure
|
||||
(defn test-positive
|
||||
"Vergleicht eine Zahl mit 0 gibt einen Hinweis-Text.
|
||||
Der Hinweistext erklärt, ob die Zahl `number` größer, kleiner
|
||||
oder gleich zur Zahl 0 ist."
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
# Lösung: Ausnahmebehandlung
|
||||
|
||||
|
||||
```$2(defn number-formatter
|
||||
```clojure
|
||||
(defn number-formatter
|
||||
"Konvertiert den String `string` in einen Integer-Wert.
|
||||
Wenn die Konvertierung fehlschlägt, wird -1 zurück
|
||||
gegeben."
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
# Lösung: reduce
|
||||
|
||||
|
||||
```$2(defn prod-reduce
|
||||
```clojure
|
||||
(defn prod-reduce
|
||||
"Berechnet das Produkt einer Reihe von Zahlen `zahlen` unter
|
||||
Verwendung von reduce."
|
||||
[zahlen]
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
# Lösung: mapping und cycle
|
||||
|
||||
|
||||
```$2(defn map-cycle
|
||||
```clojure
|
||||
(defn map-cycle
|
||||
"Erzeugt eine unendliche Sequenz der Zahlen `zahlen`
|
||||
und berechnet für jede Zahl deren Doppeltes und zieht dann
|
||||
1 ab. Vom Ergebnis werden `n` Elemente zurück
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
# Lösung: take-while
|
||||
|
||||
|
||||
```$2(defn below-zero
|
||||
```clojure
|
||||
(defn below-zero
|
||||
"Läuft über `data` und gibt die Elemente bis zum ersten
|
||||
Auftreten eines Wertes >= 0 zurück."
|
||||
[data]
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
# Lösung: filter
|
||||
|
||||
|
||||
```$2(defn filter-positive
|
||||
```clojure
|
||||
(defn filter-positive
|
||||
"Läuft über `data` und gibt die Elemente, deren Wert >= 0 ist zurück."
|
||||
[data]
|
||||
(filter #(>= % 0) data))
|
||||
|
|
Loading…
Reference in New Issue