Track
/
jq
jq
/
Esercizi
/
Catena di montaggio
Catena di montaggio

Catena di montaggio

Esercizio di apprendimento

Introduzione

Numeri

Dal manuale

jq supporta lo stesso insieme di tipi di dato di JSON: numeri, stringhe, booleani, array, oggetti (che nel gergo JSON sono hash con sole chiavi di tipo stringa) e "null".

Concentriamoci sui numeri.

Numeri e operatori numerici

Tutti i numeri, che siano interi o no, sono numeri in virgola mobile a doppia precisione IEEE754. Questo ci limita a 53 bit di precisione.

Con i numeri puoi usare i soliti operatori:

  • aritmetica: +, -, *, /, %

  • confronto: ==, !=, <, <=, >=, >

  • le funzioni matematiche standard

    Per le funzioni con un solo input, passa il valore alla funzione con una pipe

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

    Per le funzioni con due input, la funzione ignora l'input e si aspetta gli input come parametri (ricorda che i parametri sono separati da punti e virgola)

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

    Il punto e virgola è il separatore degli argomenti di una funzione, non la virgola.

Altre espressioni jq

Per risolvere l'esercizio, dovrai conoscere le espressioni condizionali.

Espressioni condizionali

jq usa un'espressione if-then-else per le espressioni condizionali. Essendo un'espressione, si inserisce in una pipeline.

La sintassi è: if CONDITION then TRUE_EXPR else FALSE_EXPR end.

La clausola else è facoltativa.

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

Per ulteriori condizioni si usa elif

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

Istruzioni

In questo esercizio scriverai codice per analizzare la produzione di una catena di montaggio in una fabbrica di automobili. La velocità della catena di montaggio può variare da 0 (spenta) a 10 (massima).

Alla sua velocità più bassa (1), vengono prodotte 221 automobili ogni ora. La produzione aumenta in modo lineare con la velocità. Quindi, con la velocità impostata a 4, dovrebbe produrre 4 * 221 = 884 automobili all'ora. Tuttavia, velocità più alte aumentano la probabilità che vengano prodotte automobili difettose, che poi devono essere scartate. La tabella seguente mostra come la velocità influisce sul tasso di successo:

  • Da 1 a 4: tasso di successo del 100%.
  • Da 5 a 8: tasso di successo del 90%.
  • 9: tasso di successo dell'80%.
  • 10: tasso di successo del 77%.

Hai due compiti.

1. Calcola il tasso di produzione all'ora

Calcola il tasso di produzione orario della catena di montaggio, tenendo conto del suo tasso di successo.

2. Calcola il numero di pezzi funzionanti prodotti al minuto

Calcola quante automobili complete e funzionanti vengono prodotte al minuto.

Modifica tramite GitHub Il link si apre in una nuova finestra o scheda
jq Exercism

Vuoi iniziare Catena di montaggio?

Iscriviti a Exercism per imparare e padroneggiare jq con 12 concetti75 esercizi e il mentoring di persone reali, tutto gratis.