Track
/
Rust
Rust
/
Esercizi
/
Catena di montaggio
Catena di montaggio

Catena di montaggio

Esercizio di apprendimento

Introduzione

Numeri

In Rust esistono due categorie diverse di numeri: i numeri interi (che possono essere con segno o senza segno) e i numeri in virgola mobile.

Numeri interi

  • Numeri interi: numeri senza cifre dopo il separatore decimale (numeri interi). I tipi interi possono memorizzare solo numeri positivi (senza segno) oppure numeri sia positivi sia negativi (con segno). Alcuni esempi sono -6, 0, 1, 25, 976 e 500000.

Numeri in virgola mobile

  • Numeri in virgola mobile: numeri con zero o più cifre dopo il separatore decimale. Alcuni esempi sono -2.4, 0.1, 3.14, 16.984025 e 1024.0.

Come si chiamano i tipi numerici

Il nome di un tipo numerico è composto da due parti:

  • Una lettera che specifica se si tratta di un intero senza segno (u), di un intero con segno (i) o di un numero in virgola mobile (f).
  • Un numero che specifica la dimensione del tipo in bit. I tipi più grandi hanno un intervallo maggiore tra il valore minimo e quello massimo. Per i numeri in virgola mobile, questo permette anche di avere più cifre dopo il separatore decimale.

Le seguenti combinazioni sono possibili:

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

Nota che per i numeri in virgola mobile esistono solo le varianti a 32 bit e a 64 bit.

Convertire tra tipi numerici

Rust non effettua alcuna conversione implicita di tipo. Questo significa che, se devi trasformare un tipo numerico in un altro, devi farlo in modo esplicito. Quando converti da un tipo più grande a uno più piccolo (ad esempio da u64 a u32), potresti perdere dati. Convertire un numero in virgola mobile in un intero perderà tutto ciò che sta dopo il separatore decimale, arrotondando di fatto per difetto.

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, le 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 e 10: tasso di successo del 77%.

Hai due compiti.

1. Calcola il tasso di produzione per ora

Implementa un metodo per calcolare il tasso di produzione per ora della catena di montaggio, tenendo conto del suo tasso di successo:

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

Nota che il valore restituito è un f64.

2. Calcola il numero di pezzi funzionanti prodotti al minuto

Implementa un metodo per calcolare quante automobili funzionanti vengono prodotte al minuto:

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

Nota che il valore restituito è un u32.

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

Vuoi iniziare Catena di montaggio?

Iscriviti a Exercism per imparare e padroneggiare Rust con 99 esercizi e il mentoring di persone reali, tutto gratis.