Parcours
/
Rust
Rust
/
Exercices
/
Couleur de résistance
Couleur de résistance

Couleur de résistance

Exercice d'apprentissage

Introduction

La plupart des programmes dépendent de certaines bibliothèques. Les gérer à la main peut vite devenir pénible. Heureusement, l'écosystème Rust est livré en standard avec cargo ! cargo peut gérer les dépendances d'un projet.

On voit souvent des paquets externes désignés sous le nom de « crates » en Rust. Un crate est une unité de compilation en Rust. Un crate peut être compilé en binaire ou en bibliothèque.

La plupart du temps, ajouter une dépendance externe se résume à ajouter une ligne à ton fichier Cargo.toml.

Dans cet exercice, les dépendances enum-iterator et int-enum ont été ajoutées pour toi.

Instructions

Si tu veux construire quelque chose avec un Raspberry Pi, tu utiliseras probablement des résistances. Pour cet exercice, tu dois savoir deux choses à leur sujet :

  • Chaque résistance a une valeur de résistance.
  • Les résistances sont petites, si petites d'ailleurs qu'il serait difficile de lire la valeur de résistance si on l'imprimait dessus.

Pour contourner ce problème, les fabricants impriment des bandes de couleur sur les résistances pour indiquer leur valeur de résistance. Chaque bande a une position et une valeur numérique.

Les 2 premières bandes d'une résistance suivent un schéma d'encodage simple : chaque couleur correspond à un seul nombre.

Dans cet exercice, tu vas créer un programme bien utile pour ne pas avoir à mémoriser les valeurs des bandes.

Ces couleurs sont encodées comme suit :

  • Black : 0
  • Brown : 1
  • Red : 2
  • Orange : 3
  • Yellow : 4
  • Green : 5
  • Blue : 6
  • Violet : 7
  • Grey : 8
  • White : 9

L'objectif de cet exercice est de créer un moyen de :

  1. retrouver la valeur numérique associée à une bande de couleur donnée
  2. convertir la valeur numérique en une string qui représente la couleur
  3. lister les différentes couleurs de bandes

Pour la tâche numéro un, tu auras besoin du crate externe int-enum et pour la tâche numéro trois, tu auras besoin d'enum-iterator. Ils sont déjà tous les deux inclus dans le Cargo.toml de cet exercice. N'oublie pas de consulter la documentation de ces crates pour apprendre à les utiliser. Tu peux t'intéresser à l'implémentation par défaut du trait Debug pour les enums afin de réaliser la tâche numéro deux.

Les moyens mnémotechniques associent les couleurs aux nombres qui, une fois stockés dans un tableau, se trouvent correspondre à leur indice dans ce tableau : Better Be Right Or Your Great Big Values Go Wrong.

Tu trouveras plus d'informations sur le codage des couleurs des résistances dans l'article Wikipédia sur le code de couleurs électronique

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

Prêt à commencer Couleur de résistance ?

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