Os operadores de comparação em Julia são parecidos com os de muitas outras linguagens, mas com algumas opções extras para quem gosta de matemática.
Para igualdade, os operadores são == (igual) e != ou ≠ (diferente).
txt = "abc"
txt == "abc" # true
txt != "abc" # false
txt ≠ "abc" # false (synonym for !=)
Além disso, temos os vários operadores de maior/menor que.
1 < 3 # true
3 > 3 # false
3 <= 3 # true
3 ≤ 3 # true (synonym for <=)
4 >= 3 # true
4 ≥ 3 # true (synonym for >=)
Como costuma acontecer com Julia, um editor adequado facilita usar o símbolo matemático. Digite \ne, \le ou \ge e depois TAB para obter ≠, ≤ ou ≥.
O exemplo anterior usa apenas números, mas veremos em outras partes do currículo que vários tipos adicionais têm uma noção de ordenação e podem ser testados quanto a maior/menor que.
Os operadores de comparação podem ser encadeados, o que permite uma sintaxe clara e concisa:
n = 3
1 ≤ n ≤ 5 # true (n "between" two limits)
O exemplo anterior é sinônimo de 1 ≤ n && n ≤ 5.
if
Esta é a forma completa de uma condicional if:
if conditional1
statements...
elseif conditional2
statements...
else
statements...
end
Não é preciso usar parênteses () nem chaves {}, e a indentação serve "só" para melhorar a legibilidade (mas legibilidade é muito importante!).
Tanto elseif quanto else são opcionais, e pode haver vários blocos elseif.
Porém, o end é obrigatório.
É possível aninhar condicionais if, mas talvez você queira ajudar a legibilidade com o uso cuidadoso de parênteses, indentação e comentários.
A forma mais curta de uma condicional seria algo assim:
if n < 0
n = 0
end
Como lembrete: só é possível usar como condicionais expressões que avaliam para true ou false.
Julia evita de propósito qualquer conceito de "truthiness", então valores zero, strings vazias e arrays vazios não são equivalentes a false.
Uma situação simples e comum é escolher um entre dois valores com base em uma condicional.
Julia, como muitas linguagens, tem um operador ternário para deixar isso mais conciso.
A sintaxe é conditional ? value_if_true : value_if_false.
Então o exemplo anterior poderia ser reescrito:
n = n < 0 ? 0 : n
Os parênteses não são exigidos pelo compilador, mas podem melhorar a legibilidade.
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 linearmente com a velocidade.
Então, com a velocidade em 4, ela deve produzir 4 * 221 = 884 carros por hora.
No entanto, velocidades mais altas aumentam a chance de carros com defeito serem produzidos, que depois precisam ser descartados.
Você tem três tarefas. Cada uma das funções necessárias recebe um único parâmetro inteiro, a velocidade da linha de montagem.
Implemente o método success_rate() para calcular a probabilidade de um item ser criado sem erro para uma determinada velocidade.
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%.julia> success_rate(10)
0.77
Implemente o método production_rate_per_hour() para calcular a taxa de produção por hora da linha de montagem, levando em conta a taxa de sucesso.
julia> production_rate_per_hour(6)
1193.4
Repare que o valor retornado é um número de ponto flutuante.
Implemente o método working_items_per_minute() para calcular quantos carros funcionais são produzidos por minuto:
julia> working_items_per_minute(6)
19
Repare que o valor retornado é um número inteiro: itens incompletos não são incluídos.
Crie sua conta no Exercism para aprender e dominar Julia com 35 conceitos128 exercícios e mentoria humana de verdade, tudo de graça.