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

Couleur de résistance

Moyen

Instructions

Si tu veux construire quelque chose avec un Raspberry Pi, tu vas probablement utiliser des résistances. Pour cet exercice, il faut connaître deux choses à leur sujet :

  • Chaque résistance a une valeur de résistance.
  • Les résistances sont minuscules, à tel point que si l'on y imprimait la valeur de résistance, celle-ci serait difficile à lire.

Pour contourner ce problème, les fabricants impriment des bandes de couleur codées sur les résistances afin d'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, on va créer un programme bien utile pour que tu n'aies plus à 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

Le but de cet exercice est de créer un moyen :

  • de retrouver la valeur numérique associée à une bande de couleur donnée
  • de lister les différentes couleurs de bandes

Des moyens mnémotechniques associent les couleurs aux nombres, lesquels, 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 des couleurs électronique.

Définis la syntaxe

Dans cet exercice, tu dois définir une syntaxe pour les couleurs en utilisant le préfixe c*, par exemple c*black. Cette syntaxe doit être développée à la compilation en la valeur correspondante de chaque couleur, sous la forme d'un Fin 10, conformément aux instructions. De la même façon, tu dois définir une syntaxe pour un tableau contenant toutes les valeurs de couleur en utilisant c*all.

Cette tâche te demandera probablement d'utiliser soit des notations, soit des macros. Tu voudras peut-être consulter une référence.

Comme la nouvelle syntaxe est développée à la compilation, aucun test ne pourrait être compilé si toute la syntaxe nécessaire n'est pas définie. C'est pourquoi, plutôt que de nous appuyer sur des tests d'exécution traditionnels, on vérifie toutes les valeurs à l'aide de théorèmes. Si un théorème passe la vérification de types, tu peux le considérer comme un test réussi.

Si tu travailles en local ou dans le bac à sable en ligne de Lean, Lean InfoView te donnera immédiatement un retour sur la réussite ou l'échec de chaque théorème, et sur la raison de son échec.

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

Prêt à commencer Couleur de résistance ?

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