Trilhas
/
Rust
Rust
/
Exercícios
/
Linha de montagem
Linha de montagem

Linha de montagem

Exercício de aprendizagem

Introdução

Números

Existem duas categorias diferentes de números em Rust: inteiros (que podem ter sinal ou não) e números de ponto flutuante.

Inteiros

  • Inteiros: números sem dígitos depois do separador decimal (números inteiros). Os tipos inteiros podem armazenar apenas números positivos (sem sinal) ou números positivos e negativos (com sinal). Exemplos: -6, 0, 1, 25, 976 e 500000.

Números de ponto flutuante

  • Números de ponto flutuante: números com zero ou mais dígitos depois do separador decimal. Exemplos: -2.4, 0.1, 3.14, 16.984025 e 1024.0.

Como nomear tipos numéricos

O nome de um tipo numérico é formado por duas partes:

  • Uma letra que especifica se ele é um inteiro sem sinal (u), um inteiro com sinal (i) ou um número de ponto flutuante (f).
  • Um número que especifica o tamanho do tipo em bits. Tipos maiores têm um intervalo maior entre os valores mínimo e máximo. Para números de ponto flutuante, isso também permite mais dígitos depois do separador decimal.

As seguintes combinações são possíveis:

  • 8 bits: u8, i8
  • 16 bits: u16, i16
  • 32 bits: u32, i32, f32
  • 64 bits: u64, i64, f64
  • 128 bits: u128, i128

Repare que existem apenas as variantes de 32 bits e 64 bits para números de ponto flutuante.

Conversão entre tipos numéricos

Rust não faz nenhuma conversão implícita de tipos. Isso significa que, se você precisar transformar um tipo numérico em outro, terá que fazer isso explicitamente. Ao converter de um tipo maior para um menor (por exemplo, de u64 para u32), você pode perder dados. Converter de ponto flutuante para inteiro vai perder tudo depois do ponto decimal, arredondando para baixo na prática.

Instruções

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 produzir carros defeituosos, que depois precisam ser descartados. A tabela a seguir mostra como a velocidade influencia a taxa de sucesso:

  • De 1 a 4: taxa de sucesso de 100%.
  • De 5 a 8: taxa de sucesso de 90%.
  • 9 e 10: taxa de sucesso de 77%.

Você tem duas tarefas.

1. Calcule a taxa de produção por hora

Implemente um método para calcular a taxa de produção por hora da linha de montagem, levando em conta a taxa de sucesso:

assembly_line::production_rate_per_hour(6)
// Returns: 1193.4

Observe que o valor retornado é um f64.

2. Calcule o número de itens funcionais produzidos por minuto

Implemente um método para calcular quantos carros funcionais são produzidos por minuto:

assembly_line::working_items_per_minute(6)
// Returns: 19

Observe que o valor retornado é um u32.

Editar via GitHub O link abre em uma nova janela ou aba
Rust Exercism

Tudo pronto para começar Linha de montagem?

Crie sua conta no Exercism para aprender e dominar Rust com 99 exercícios e mentoria humana de verdade, tudo de graça.