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

Linha de montagem

Exercício de aprendizagem

Introdução

Números

Do manual

O jq dá suporte ao mesmo conjunto de tipos de dados que o JSON: números, strings, Boolean, arrays, objetos (que, no jargão do JSON, são hashes com apenas chaves do tipo string) e "null".

Vamos nos concentrar nos números.

Números e operadores numéricos

Todos os números, sejam inteiros ou não, são números de ponto flutuante de precisão dupla IEEE754. Isso nos limita a 53 bits de precisão.

Os operadores usuais estão disponíveis para usar com números:

  • aritmética: +, -, *, /, %

  • comparação: ==, !=, <, <=, >=, >

  • funções matemáticas padrão

    Para funções de uma entrada, use um pipe para passar o valor para a função

    $ jq -n '(1 | atan) * 4'
    3.141592653589793
    

    Para funções de duas entradas, elas ignoram a entrada e esperam as entradas como parâmetros (lembre-se de que os parâmetros são separados por ponto e vírgula)

    $ jq -n 'pow(2; 10)'
    1024
    

    O ponto e vírgula é o separador de argumentos de função, não a vírgula.

Outras expressões jq

Para resolver o exercício, você vai precisar conhecer as expressões condicionais.

Expressões condicionais

O jq usa uma expressão if-then-else para expressões condicionais. Como é uma expressão, ela é colocada em um pipeline.

A sintaxe é: if CONDITION then TRUE_EXPR else FALSE_EXPR end.

A cláusula else é opcional.

42 | if . < 33 then "small" else "larger" end
# => "larger"

Condições adicionais usam elif

42 | if . < 33 then "small"
     elif . < 67 then "medium"
     else "large"
     end
# => "medium"

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 lenta (1), são produzidos 221 carros por hora. A produção aumenta linearmente com a velocidade. Então, com a velocidade definida como 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. A tabela a seguir mostra como a velocidade influencia a taxa de sucesso:

  • 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.

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

Calcule a taxa de produção da linha de montagem por hora, levando em conta a taxa de sucesso.

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

Calcule quantos carros prontos e em funcionamento são produzidos por minuto.

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

Tudo pronto para começar Linha de montagem?

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