Tracks
/
WebAssembly
WebAssembly
/
Übungen
/
Widerstandsfarben
Widerstandsfarben

Widerstandsfarben

Mittel

Anleitung

Wenn du etwas mit einem Raspberry Pi bauen willst, wirst du wahrscheinlich Widerstände verwenden. Für diese Übung musst du zwei Dinge über sie wissen:

  • Jeder Widerstand hat einen Widerstandswert.
  • Widerstände sind klein. So klein, dass es schwer zu lesen wäre, wenn du den Widerstandswert darauf drucken würdest.

Um dieses Problem zu umgehen, drucken Hersteller farbcodierte Ringe auf die Widerstände, die ihren Widerstandswert angeben. Jeder Ring hat eine Position und einen numerischen Wert.

Die ersten beiden Ringe eines Widerstands folgen einem einfachen Kodierungsschema: Jede Farbe steht für eine einzelne Zahl.

In dieser Übung schreibst du ein hilfreiches Programm, damit du dir die Werte der Ringe nicht merken musst.

Diese Farben sind wie folgt kodiert:

  • black: 0
  • brown: 1
  • red: 2
  • orange: 3
  • yellow: 4
  • green: 5
  • blue: 6
  • violet: 7
  • grey: 8
  • white: 9

Das Ziel dieser Übung ist es, eine Möglichkeit zu schaffen:

  • den numerischen Wert nachzuschlagen, der zu einem bestimmten Farbring gehört
  • die verschiedenen Farben der Ringe aufzulisten

Eselsbrücken ordnen den Farben die Zahlen zu, die, als Array gespeichert, zufällig auf ihren Index im Array abbilden: Better Be Right Or Your Great Big Values Go Wrong.

Mehr Informationen zur Farbkodierung von Widerständen findest du im Wikipedia-Artikel zum Farbcode für elektronische Bauteile.

Reservierter Speicher

Der Puffer für den Eingabe-String verwendet die Bytes 64-191 des linearen Speichers.

Arrays

WebAssembly kennt das Konzept von Arrays nicht. Für den Farbtest gib einen kommagetrennten Puffer von Zeichen in der Form zurück: black,brown,red,orange,yellow,green,blue,violet,grey,white

Danach musst du intern ein Array von Strukturen mit Offsets und Längen aufbauen, um diesem Puffer Struktur zu geben.

Über GitHub bearbeiten Der Link öffnet sich in einem neuen Fenster oder Tab
WebAssembly Exercism

Bereit, mit Widerstandsfarben zu starten?

Melde dich bei Exercism an, um WebAssembly mit 87 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.