Trilhas
/
WebAssembly
WebAssembly
/
Exercícios
/
Trio de cores do resistor
Trio de cores do resistor

Trio de cores do resistor

Médio

Instruções

Se você quer construir algo usando um Raspberry Pi, provavelmente vai usar resistores. Para este exercício, você só precisa saber três 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 codificadas por cores nos resistores para indicar seus valores de resistência.

  • Cada faixa funciona como um dígito de um número. Por exemplo, se eles imprimissem uma faixa brown (valor 1) seguida por uma faixa green (valor 5), isso corresponderia ao número 15. Neste exercício, você vai criar um programa útil para não precisar lembrar os valores das faixas. O programa receberá 3 cores como entrada e retornará o valor correto, em ohms. As faixas de 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

No Duo de Cores de Resistores, você decodificou as duas primeiras cores. Por exemplo: orange-orange deu o valor principal 33. A terceira cor representa quantos zeros precisam ser adicionados ao valor principal. O valor principal mais os zeros nos dá um valor em ohms. Para o exercício, não importa o que ohms realmente são. Por exemplo:

  • orange-orange-black seria 33 e nenhum zero, o que resulta em 33 ohms.
  • orange-orange-red seria 33 e 2 zeros, o que resulta em 3300 ohms.
  • orange-orange-orange seria 33 e 3 zeros, o que resulta em 33000 ohms.

(Se você curte matemática, talvez queira pensar nos zeros como expoentes de 10. Se não curte, fique com os zeros. É realmente a mesma coisa, só que em linguagem comum em vez de jargão matemático.)

Este exercício é sobre traduzir as cores para um rótulo:

"... ohms"

Então, uma entrada de "orange", "orange", "black" deve retornar:

"33 ohms"

Quando chegamos a resistores maiores, um prefixo métrico é usado para indicar uma magnitude maior de ohms, como "kiloohms". Isso é parecido com dizer "2 quilômetros" em vez de "2000 metros", ou "2 quilogramas" para "2000 gramas".

Por exemplo, uma entrada de "orange", "orange", "orange" deve retornar:

"33 kiloohms"

Se a entrada for inválida, retorne um comprimento vazio.

Endereços reservados

O buffer da primeira string usa os bytes 1024-2047 da memória linear. O buffer da segunda string usa os bytes 2048-3071 da memória linear. O buffer da terceira string usa os bytes 3072-4095 da memória linear.

O primeiro segmento dos bytes 0-1023 da memória linear está livre para uso.

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

Tudo pronto para começar Trio de cores do resistor?

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