Parcours
/
Rust
Rust
/
Exercices
/
Chaîne de montage
Chaîne de montage

Chaîne de montage

Exercice d'apprentissage

Introduction

Nombres

En Rust, il existe deux catégories bien différentes de nombres : les entiers (qui peuvent être signés ou non signés) et les nombres à virgule flottante.

Entiers

  • Entiers : des nombres sans chiffres après la virgule (des nombres entiers). Les types entiers peuvent soit ne stocker que des nombres positifs (non signés), soit stocker des nombres positifs comme négatifs (signés). Par exemple : -6, 0, 1, 25, 976 et 500000.

Nombres à virgule flottante

  • Nombres à virgule flottante : des nombres avec zéro ou plusieurs chiffres après la virgule. Par exemple : -2,4, 0,1, 3,14, 16,984025 et 1024,0.

Nomme les types numériques

Le nom d'un type numérique se compose de deux parties :

  • Une lettre qui indique s'il s'agit d'un entier non signé (u), d'un entier signé (i) ou d'un nombre à virgule flottante (f).
  • Un nombre qui indique la taille du type en bits. Plus le type est grand, plus la plage entre les valeurs minimale et maximale est étendue. Pour les nombres à virgule flottante, cela permet en plus d'avoir davantage de chiffres après la virgule.

Les combinaisons suivantes sont possibles :

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

À noter qu'il n'existe que des variantes 32 bits et 64 bits pour les nombres à virgule flottante.

Convertis d'un type numérique à un autre

Rust n'effectue aucune conversion de type implicite. Autrement dit, pour transformer un type numérique en un autre, il faut le faire explicitement. Lors d'une conversion d'un type plus grand vers un type plus petit (par exemple de u64 vers u32), on peut perdre des données. Convertir un nombre à virgule flottante en entier fera perdre tout ce qui se trouve après la virgule, ce qui revient à arrondir vers le bas.

Instructions

Dans cet exercice, tu vas écrire du code pour analyser la production d'une chaîne de montage dans une usine automobile. La vitesse de la chaîne de montage peut aller de 0 (arrêt) à 10 (maximum).

À sa vitesse la plus basse (1), 221 voitures sont produites chaque heure. La production augmente linéairement avec la vitesse. Ainsi, avec une vitesse réglée sur 4, elle devrait produire 4 * 221 = 884 voitures par heure. Cependant, des vitesses plus élevées augmentent la probabilité que des voitures défectueuses soient produites, et celles-ci doivent alors être mises au rebut. Le tableau suivant montre comment la vitesse influence le taux de réussite :

  • De 1 à 4 : un taux de réussite de 100 %.
  • De 5 à 8 : un taux de réussite de 90 %.
  • De 9 à 10 : un taux de réussite de 77 %.

Tu as deux tâches à accomplir.

1. Calcule le taux de production par heure

Implémente une méthode pour calculer le taux de production horaire de la chaîne de montage, en tenant compte de son taux de réussite :

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

Note que la valeur renvoyée est un f64.

2. Calcule le nombre d'éléments fonctionnels produits par minute

Implémente une méthode pour calculer combien de voitures fonctionnelles sont produites par minute :

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

Note que la valeur renvoyée est un u32.

Modifie via GitHub Le lien s'ouvre dans une nouvelle fenêtre ou un nouvel onglet
Rust Exercism

Prêt à commencer Chaîne de montage ?

Inscris-toi sur Exercism pour apprendre et maîtriser Rust avec 99 exercices, et un vrai mentorat humain, le tout gratuitement.