Tracks
/
Lean
Lean
/
Ejercicios
/
Colores de resistencia
Colores de resistencia

Colores de resistencia

Intermedia

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 la resistencia sobre ellas, sería difícil de leer.

Para resolver este problema, los fabricantes imprimen en las resistencias bandas codificadas con colores que indican 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 memorizar los valores de las bandas.

Estos colores se codifican 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:

  • buscar el valor numérico asociado a una banda de color en particular
  • listar los diferentes colores de las bandas

Las reglas mnemotécnicas asocian los colores con los números que, cuando se almacenan en un array, coinciden con su índice en ese 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.

Definición de sintaxis

En este ejercicio, debes definir sintaxis para los colores usando el prefijo c*, por ejemplo, c*black. Esta sintaxis debe expandirse en tiempo de compilación al valor correspondiente de cada color como un Fin 10, según las instrucciones. De la misma manera, debes definir sintaxis para un array con todos los valores de los colores usando c*all.

Es probable que esta tarea requiera que uses notaciones o macros. Quizá quieras consultar una referencia.

Como la sintaxis nueva se expande en tiempo de compilación, cualquier prueba fallaría al compilar a menos que esté definida toda la sintaxis necesaria. Por esta razón, en lugar de apoyarnos en las pruebas tradicionales en tiempo de ejecución, verificamos todos los valores usando teoremas. Si un teorema pasa la verificación de tipos, puedes considerarlo una prueba superada.

Si trabajas localmente o en el área de juegos en línea de Lean, obtendrás retroalimentación instantánea sobre si algún teorema tiene éxito o falla, y por qué falla, a través de InfoView de Lean.

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

¿Todo listo para empezar Colores de resistencia?

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