Les nombres en Clojure comprennent :
-6, 0, 1, 25, 976 et 500000.-2.4, 0.1, 3.14, 16.984025 et 1024.0.Deux types numériques courants sont int et float. Un int est un entier de 32 bits et un float est un nombre à virgule flottante de 64 bits.
L'arithmétique se fait à l'aide des opérateurs arithmétiques standard. On peut comparer les nombres à l'aide des opérateurs de comparaison numériques standard (>, <, <=, >=), de l'opérateur d'égalité (=) et de l'opérateur de non-égalité (not=).
Dans cet exercice, tu dois exécuter de la logique de manière conditionnelle. Une façon courante de faire cela en Clojure consiste à utiliser 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")
L'opérateur == peut être préférable à = dans certains cas où l'on doit comparer des nombres indépendamment de leur type exact. Par exemple,
(== 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
Le guide de Clojure sur l'égalité, et plus particulièrement la section sur Numbers, entre dans plus de détails.
Dans cet exercice, tu vas écrire du code pour analyser la production d'une chaîne de montage dans une usine de voitures. La vitesse de la chaîne de montage peut aller de 0 (à l'arrêt) à 10 (maximum).
À sa vitesse la plus basse (1), 221 voitures sont produites chaque heure. La production augmente linéairement avec la vitesse. Ainsi, avec la vitesse réglée sur 4, elle devrait produire 4 * 221 = 884 voitures par heure. Cependant, des vitesses plus élevées augmentent la probabilité que des voitures défectueuses soient produites, et celles-ci doivent ensuite être écartées. Le tableau suivant montre comment la vitesse influence le taux de réussite :
0 : 0 % de réussite.1 à 4 : 100 % de réussite.5 à 8 : 90 % de réussite.9 : 80 % de réussite.10 : 77 % de réussite.Tu as deux tâches à accomplir.
Implémente la fonction production-rate pour calculer le taux de production horaire de la chaîne de montage, en tenant compte de son taux de réussite :
(production-rate 6)
;;=> 1193.4
Note que la valeur renvoyée est un double.
Implémente la fonction working-items pour calculer combien de voitures fonctionnelles sont produites par minute :
(working-items 6)
;;=> 19
Note que la valeur renvoyée est un int.
Inscris-toi sur Exercism pour apprendre et maîtriser Clojure avec 12 concepts105 exercices, et un vrai mentorat humain, le tout gratuitement.