Los números en Clojure incluyen:
-6, 0, 1, 25, 976 y 500000.-2.4, 0.1, 3.14, 16.984025 y 1024.0.Dos tipos numéricos comunes son int y float. Un int es un entero de 32 bits y un float es un número de coma flotante de 64 bits.
La aritmética se realiza usando los operadores aritméticos estándar. Los números se pueden comparar usando los operadores de comparación numérica estándar (>, <, <=, >=), el operador de igualdad (=) y el operador de desigualdad (not=).
En este ejercicio debes ejecutar lógica de forma condicional. Una forma habitual de hacerlo en Clojure es usar 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")
El operador == podría ser preferible a = en algunos casos en los que es necesario comparar números independientemente de su tipo exacto. Por ejemplo,
(== 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
La guía de Clojure sobre igualdad, en concreto la sección sobre números, entra en más detalles.
En este ejercicio vas a escribir código para analizar la producción de una cadena de montaje en una fábrica de coches. La velocidad de la cadena de montaje puede ir de 0 (apagada) a 10 (máxima).
A su velocidad mínima (1), se producen 221 coches cada hora. La producción aumenta de forma lineal con la velocidad. Así que con la velocidad ajustada a 4, debería producir 4 * 221 = 884 coches por hora. Sin embargo, las velocidades más altas aumentan la probabilidad de que se produzcan coches defectuosos, que después hay que descartar. La siguiente tabla muestra cómo influye la velocidad en la tasa de éxito:
0: tasa de éxito del 0 %.1 a 4: tasa de éxito del 100 %.5 a 8: tasa de éxito del 90 %.9: tasa de éxito del 80 %.10: tasa de éxito del 77 %.Tienes dos tareas.
Implementa la función production-rate para calcular la tasa de producción por hora de la cadena de montaje, teniendo en cuenta su tasa de éxito:
(production-rate 6)
;;=> 1193.4
Ten en cuenta que el valor devuelto es un double.
Implementa la función working-items para calcular cuántos coches en buen estado se producen por minuto:
(working-items 6)
;;=> 19
Ten en cuenta que el valor devuelto es un int.
Regístrate en Exercism para aprender y dominar Clojure con 12 conceptos105 ejercicios y mentoría humana real, todo gratis.