Os números em Clojure incluem:
-6, 0, 1, 25, 976 e 500000.-2.4, 0.1, 3.14, 16.984025 e 1024.0.Dois tipos numéricos comuns são int e float. Um int é um inteiro de 32 bits e um float é um número de ponto flutuante de 64 bits.
A aritmética é feita usando os operadores aritméticos padrão. Os números podem ser comparados usando os operadores de comparação numérica padrão (>, <, <=, >=), o operador de igualdade (=) e o operador de desigualdade (not=).
Neste exercício, você precisa executar lógica condicionalmente. Uma forma comum de fazer isso em Clojure é 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")
O operador == pode ser preferível ao = em alguns casos em que números precisam ser comparados independentemente do tipo exato. Por exemplo,
(== 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
O guia do Clojure sobre Igualdade, especificamente a seção sobre Números, entra em mais detalhes.
Neste exercício, você vai escrever código para analisar a produção de uma linha de montagem em uma fábrica de carros. A velocidade da linha de montagem pode variar de 0 (desligada) a 10 (máxima).
Na velocidade mais baixa (1), são produzidos 221 carros por hora. A produção aumenta de forma linear com a velocidade. Então, com a velocidade em 4, ela deve produzir 4 * 221 = 884 carros por hora. Porém, velocidades mais altas aumentam a chance de carros com defeito serem produzidos, que depois precisam ser descartados. A tabela a seguir mostra como a velocidade influencia a taxa de sucesso:
0: taxa de sucesso de 0%.1 a 4: taxa de sucesso de 100%.5 a 8: taxa de sucesso de 90%.9: taxa de sucesso de 80%.10: taxa de sucesso de 77%.Você tem duas tarefas.
Implemente a função production-rate para calcular a taxa de produção da linha de montagem por hora, levando em conta a taxa de sucesso:
(production-rate 6)
;;=> 1193.4
Repare que o valor retornado é um double.
Implemente a função working-items para calcular quantos carros funcionais são produzidos por minuto:
(working-items 6)
;;=> 19
Repare que o valor retornado é um int.
Crie sua conta no Exercism para aprender e dominar Clojure com 12 conceitos105 exercícios e mentoria humana de verdade, tudo de graça.