Tracks
/
Rust
Rust
/
Ejercicios
/
Colores de resistencia
Colores de resistencia

Colores de resistencia

Ejercicio de aprendizaje

Introducción

La mayoría de los programas tienen dependencias de algunas bibliotecas. Gestionarlas a mano puede ser un fastidio. Por suerte, el ecosistema de Rust incluye cargo de forma estándar. cargo puede gestionar las dependencias de un proyecto.

En Rust, a menudo verás que los paquetes externos se conocen como «crates». Un crate es una unidad de compilación en Rust. Un crate se puede compilar como un binario o como una biblioteca.

La mayoría de las veces, agregar una dependencia externa es tan simple como agregar una línea a tu archivo Cargo.toml.

En este ejercicio, se agregaron para ti las dependencias enum-iterator e int-enum.

Instrucciones

Si quieres construir algo con una Raspberry Pi, probablemente uses resistencias. Para este ejercicio, necesitas saber dos cosas sobre ellas:

  • Cada resistencia tiene un valor de resistencia.
  • Las resistencias son pequeñas, tan pequeñas que si imprimieras el valor de resistencia en ellas, sería difícil de leer.

Para resolver este problema, los fabricantes imprimen bandas codificadas por colores en las resistencias para indicar sus valores de resistencia. Cada banda tiene una posición y un valor numérico.

Las primeras 2 bandas de una resistencia tienen un esquema de codificación simple: cada color corresponde a un solo número.

En este ejercicio vas a crear un programa útil para que no tengas que recordar los valores de las bandas.

Estos colores están codificados de la siguiente manera:

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

El objetivo de este ejercicio es crear una forma de:

  1. buscar el valor numérico asociado a una banda de color en particular
  2. convertir el valor numérico en un string que represente el color
  3. listar los diferentes colores de las bandas

Para la tarea número uno, necesitarás el crate externo int-enum y para la tarea número tres, necesitarás enum-iterator. Ambos ya están incluidos en el Cargo.toml de este ejercicio. Asegúrate de revisar la documentación de los crates para aprender a usarlos. Puedes consultar la implementación por defecto del trait Debug para Enums para completar la tarea número dos.

La mnemotecnia asocia los colores con los números que, al guardarlos en un array, coinciden con su índice en el array: Better Be Right Or Your Great Big Values Go Wrong.

Puedes encontrar más información sobre la codificación de colores de las resistencias en el artículo de Wikipedia sobre el código de colores electrónico

Editar en GitHub El enlace se abre en una ventana o una pestaña nuevas
Rust Exercism

¿Todo listo para empezar Colores de resistencia?

Regístrate en Exercism para aprender y dominar Rust con 99 ejercicios y mentoría humana real, todo gratis.