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