Trilhas
/
Rust
Rust
/
Exercícios
/
Cores do resistor
Cores do resistor

Cores do resistor

Exercício de aprendizagem

Introdução

A maioria dos programas tem dependências de algumas bibliotecas. Gerenciá-las manualmente pode ser um incômodo. Felizmente, o ecossistema Rust já vem com o cargo por padrão! O cargo pode gerenciar as dependências de um projeto.

Muitas vezes, você vai ver pacotes externos sendo chamados de "crates" no Rust. Um crate é uma unidade de compilação no Rust. Um crate pode ser compilado em um binário ou em uma biblioteca.

Na maioria das vezes, adicionar uma dependência externa é tão simples quanto adicionar uma linha ao seu arquivo Cargo.toml.

Neste exercício, as dependências enum-iterator e int-enum foram adicionadas para você.

Instruções

Se você quer construir algo usando um Raspberry Pi, provavelmente vai usar resistores. Para este exercício, você precisa saber duas coisas sobre eles:

  • Cada resistor tem um valor de resistência.
  • Resistores são pequenos. Tão pequenos que, se você imprimisse o valor da resistência neles, seria difícil de ler.

Para contornar esse problema, os fabricantes imprimem faixas com códigos de cores nos resistores para indicar seus valores de resistência. Cada faixa tem uma posição e um valor numérico.

As 2 primeiras faixas de um resistor têm um esquema de codificação simples: cada cor corresponde a um único número.

Neste exercício, você vai criar um programa útil para não precisar decorar os valores das faixas.

Essas cores são codificadas da seguinte forma:

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

O objetivo deste exercício é criar uma forma de:

  1. consultar o valor numérico associado a uma determinada faixa de cor
  2. converter o valor numérico em uma string que representa a cor
  3. listar as diferentes cores de faixas

Para a tarefa número um, você vai precisar do crate externo int-enum e, para a tarefa número três, do enum-iterator. Os dois já estão incluídos no Cargo.toml deste exercício. Não deixe de consultar a documentação dos crates para aprender a usá-los. Você pode dar uma olhada na implementação padrão do trait Debug para Enums para completar a tarefa número dois.

Os mnemônicos associam as cores aos números que, quando armazenados como um array, acabam correspondendo ao índice deles no array: Better Be Right Or Your Great Big Values Go Wrong.

Mais informações sobre a codificação de cores de resistores podem ser encontradas no artigo da Wikipédia sobre código de cores eletrônico

Editar via GitHub O link abre em uma nova janela ou aba
Rust Exercism

Tudo pronto para começar Cores do resistor?

Crie sua conta no Exercism para aprender e dominar Rust com 99 exercícios e mentoria humana de verdade, tudo de graça.