學習軌道
/
Crystal
Crystal
/
練習
/
電阻色碼專家
電阻色碼專家

電阻色碼專家

簡單

簡介

如果你想用 Raspberry Pi 打造一些東西,很可能會用到_電阻_。 就像先前的 Resistor Color Duo 和 Resistor Color Trio 練習一樣,你要把電阻的色環轉換成人類可讀的標籤。

  • 每個電阻都有一個電阻值。
  • 電阻很小,小到如果把電阻值印在上面的話,會很難辨識。 為了解決這個問題,製造商會在電阻上印上以顏色編碼的色環,用來表示它們的電阻值。
  • 每個色環代表數字中的一位數。 舉例來說,如果印上的是一個棕色色環(值為 1),後面接著一個綠色色環(值為 5),就會轉換成數字 15。

說明

在這道練習中,你要寫一個實用的程式,讓你不用再記住每個色環代表的數值。 這個程式會接收 1 個、4 個或 5 個顏色作為輸入,並輸出以歐姆為單位的正確數值。 色環的編碼方式如下:

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

在resistor-color trio中,你解碼了前三個顏色。 例如:orange-orange-brown 會換算成主要數值330。 在這道練習中,你要在其中加入_容差_。 容差是指數值可以高於或低於主要數值的最大幅度。 例如,如果最後一個色環是 green,最大容差就是 ±0.5%。

容差色環會是下列其中一個數值:

  • Grey - 0.05%
  • Violet - 0.1%
  • Blue - 0.25%
  • Green - 0.5%
  • Brown - 1%
  • Red - 2%
  • Gold - 5%
  • Silver - 10%

四色環電阻的構造是這樣的:

色環 1 色環 2 色環 3 色環 4
數值 1 數值 2 乘數 容差

意思是:

  • orange-orange-brown-green 會是 330 ohms,容差為 ±0.5%。
  • orange-orange-red-grey 會是 3300 ohms,容差為 ±0.05%。

四色環電阻與五色環電阻的差別,在於五色環電阻多了一個色環,可以用來表示更精確的數值。

色環 1 色環 2 色環 3 色環 4 色環 5
數值 1 數值 2 數值 3 乘數 容差

意思是:

  • orange-orange-orange-black-green 會是 333 ohms,容差為 ±0.5%。
  • orange-red-orange-blue-violet 會是 323M ohms,容差為 ±0.10。

另外還有單色環電阻。 單色環電阻只有 black 一種顏色,數值為 0。

這道練習要把電阻色環的顏色轉換成一個標籤:

「... ohms ...%」

所以輸入「orange」、「orange」、「black, green」時,應該回傳:

「33 ohms ±0.5%」

當電阻值超過一千歐姆時,我們會說「kiloohms」。 這就像用「公里」表示 1000 公尺、用「公斤」表示 1000 公克一樣。

所以輸入「orange」、「orange」、「orange」、grey 時,應該回傳:

「33 kiloohms ±0.05%」

當電阻值超過一百萬歐姆時,我們會說「megaohms」。

所以輸入「orange」、「orange」、「orange」、「red」時,應該回傳:

「33 megaohms ±2%」

透過 GitHub 編輯 連結會在新視窗或分頁中開啟
Crystal Exercism

準備好開始 電阻色碼專家 了嗎?

註冊 Exercism,透過 26 個概念142 個練習 和真人引導來學習並精通 Crystal,全部免費。