Zahlen in Clojure umfassen:
-6, 0, 1, 25, 976 und 500000.-2.4, 0.1, 3.14, 16.984025 und 1024.0.Zwei häufige numerische Typen sind int und float. Ein int ist eine 32-Bit-Ganzzahl und ein float ist eine 64-Bit-Gleitkommazahl.
Für Berechnungen verwendest du die üblichen Rechenoperatoren. Zahlen lassen sich mit den üblichen numerischen Vergleichsoperatoren (>, <, <=, >=), dem Gleichheitsoperator (=) und dem Ungleichheitsoperator (not=) vergleichen.
In dieser Übung musst du Logik bedingt ausführen. Ein üblicher Weg dafür in Clojure ist cond:
(cond (= x 5) "Expression to evaluate when x equals 5"
(> x 7) "Expression to evaluate when x is greater than 7"
:else "Expression to evaluate in all other cases")
Der Operator == kann in manchen Fällen besser geeignet sein als =, wenn Zahlen unabhängig von ihrem genauen Typ verglichen werden sollen. Zum Beispiel:
(== 5.0 5) ;; true as both numbers are equal when type is ignored
(= 5.0 5) ;; false as the types of numbers are also taken into account here i.e. float is different from int
Der Clojure-Leitfaden zur Gleichheit, insbesondere der Abschnitt über Zahlen, geht genauer darauf ein.
In dieser Übung schreibst du Code, um die Produktion eines Fließbands in einer Autofabrik zu analysieren. Die Geschwindigkeit des Fließbands reicht von 0 (aus) bis 10 (Maximum).
Bei der niedrigsten Geschwindigkeit (1) werden 221 Autos pro Stunde produziert. Die Produktion steigt linear mit der Geschwindigkeit. Bei Geschwindigkeit 4 werden also 4 * 221 = 884 Autos pro Stunde produziert. Höhere Geschwindigkeiten erhöhen jedoch die Wahrscheinlichkeit, dass fehlerhafte Autos produziert werden, die dann aussortiert werden müssen. Die folgende Tabelle zeigt, wie die Geschwindigkeit die Erfolgsquote beeinflusst:
0: 0 % Erfolgsquote.1 bis 4: 100 % Erfolgsquote.5 bis 8: 90 % Erfolgsquote.9: 80 % Erfolgsquote.10: 77 % Erfolgsquote.Du hast zwei Aufgaben.
Implementiere die Funktion production-rate, um die Produktionsrate des Fließbands pro Stunde zu berechnen und dabei die Erfolgsquote zu berücksichtigen:
(production-rate 6)
;;=> 1193.4
Beachte, dass der zurückgegebene Wert ein double ist.
Implementiere die Funktion working-items, um zu berechnen, wie viele funktionierende Autos pro Minute produziert werden:
(working-items 6)
;;=> 19
Beachte, dass der zurückgegebene Wert ein int ist.
Melde dich bei Exercism an, um Clojure mit 12 Konzepte105 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.