Kurzusok
/
Rust
Rust
/
Feladatok
/
Ellenállás színkódja
Ellenállás színkódja

Ellenállás színkódja

Tanulófeladat

Bevezetés

A legtöbb program függ valamilyen külső könyvtártól. Ezeket kézzel kezelni igazi szenvedés lehet. Szerencsére a Rust ökoszisztémája alapból tartalmazza a cargo-t! A cargo segítségével egy projekt függőségeit is kezelheted.

A Rustban gyakran találkozhatsz azzal, hogy a külső csomagokat „crate”-nek hívják. A crate a Rustban egy fordítási egység. Egy crate lefordítható bináris programmá vagy könyvtárrá.

A legtöbbször elég egyetlen sort hozzáadnod a Cargo.toml fájlhoz, hogy felvégy egy külső függőséget.

Ebben a feladatban a enum-iterator és az int-enum függőségeket előre hozzáadtuk neked.

Utasítások

Ha valamit egy Raspberry Pi segítségével szeretnél építeni, valószínűleg ellenállásokat fogsz használni. Ehhez a feladathoz két dolgot kell tudnod róluk:

  • Minden ellenállásnak van egy ellenállásértéke.
  • Az ellenállások kicsik, olyannyira, hogy ha rányomtatnád az ellenállásértéküket, nehezen olvasható lenne.

Hogy ezt a problémát megkerüljék, a gyártók színkódolt sávokat nyomtatnak az ellenállásokra, amelyek jelölik az ellenállásértéküket. Minden sávnak van pozíciója és egy numerikus értéke.

Az ellenállás első 2 sávja egyszerű kódolási sémát követ: minden szín egyetlen számhoz rendelődik.

Ebben a feladatban egy hasznos programot fogsz készíteni, hogy ne kelljen megjegyezned a sávok értékeit.

Ezek a színek a következőképpen vannak kódolva:

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

A feladat célja, hogy létrehozz egy módot arra, hogy:

  1. megkeresd egy adott színsávhoz tartozó numerikus értéket
  2. a numerikus értéket színt reprezentáló stringgé alakítsd
  3. felsorold a különböző sávszíneket

Az első részfeladathoz szükséged lesz a külső int-enum crate-re, a harmadik részfeladathoz pedig az enum-iterator crate-re. Mindkettő már szerepel a feladat Cargo.toml fájljában. Feltétlenül nézd meg a crate-ek dokumentációját, hogy megtanuld használni őket. A második részfeladat megoldásához megnézheted a Debug trait alapértelmezett implementációját az enumokhoz.

A mnemonikák a színeket a számokhoz rendelik, amelyek, ha tömbként tároljuk őket, épp a tömb indexeinek felelnek meg: Better Be Right Or Your Great Big Values Go Wrong.

A rezisztorok színkódolásáról további információkat az elektronikus színkódról szóló Wikipédia-szócikk oldalon találsz.

Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg
Rust Exercism

Készen állsz elkezdeni a(z) Ellenállás színkódja feladatot?

Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) Rust nyelvet 99 feladat segítségével, valódi emberi mentorálással, mindez ingyen.