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.
Le nom d'un type numérique se compose de deux parties :
Les combinaisons suivantes sont possibles :
u8, i8
u16, i16
u32, i32, f32
u64, i64, f64
u128, i128
À noter qu'il n'existe que des variantes 32 bits et 64 bits pour les nombres à virgule flottante.
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.
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 :
1 à 4 : un taux de réussite de 100 %.5 à 8 : un taux de réussite de 90 %.9 à 10 : un taux de réussite de 77 %.Tu as deux tâches à accomplir.
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.
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.
Inscris-toi sur Exercism pour apprendre et maîtriser Rust avec 99 exercices, et un vrai mentorat humain, le tout gratuitement.