Треки
/
WebAssembly
WebAssembly
/
Вправи
/
Кольори резистора
Кольори резистора

Кольори резистора

Середня

Вказівки

Якщо ми хочемо щось зібрати на Raspberry Pi, нам, найімовірніше, знадобляться резистори. Для цієї вправи про них треба знати дві речі:

  • Кожен резистор має значення опору.
  • Резистори маленькі, настільки маленькі, що якби ми надрукували на них значення опору, його було б важко прочитати.

Щоб обійти цю проблему, виробники наносять на резистори кольорові смужки, які позначають їхній опір. Кожна смужка має позицію та числове значення.

Перші 2 смужки резистора мають просту схему кодування: кожен колір відповідає одному числу.

У цій вправі ми створимо корисну програму, щоб не доводилося запамʼятовувати значення смужок.

Ці кольори кодуються так:

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

Мета цієї вправи - створити спосіб:

  • знаходити числове значення, повʼязане з певною кольоровою смужкою
  • перелічувати різні кольори смужок

Мнемонічні фрази зіставляють кольори з числами, які, коли їх зберегти в масиві, випадково збігаються з їхніми індексами в цьому масиві: Better Be Right Or Your Great Big Values Go Wrong.

Більше інформації про кольорове кодування резисторів можна знайти в статті Вікіпедії про електронний кольоровий код.

Зарезервована памʼять

Буфер для вхідного рядка тексту (англ. string) використовує байти 64-191 лінійної памʼяті.

Масиви

У WebAssembly немає поняття масиву. Для тесту кольорів поверніть буфер символів, розділених комами, у такому вигляді: black,brown,red,orange,yellow,green,blue,violet,grey,white

Далі доведеться всередині побудувати масив структур, використовуючи зміщення та довжини, щоб надати цьому буферу структури.

Редагувати через GitHub Посилання відкривається в новому вікні або вкладці
WebAssembly Exercism

Час розпочати Кольори резистора?

Зареєструйтеся на Exercism, щоб вивчати й опановувати WebAssembly, а також 87 вправ та справжнє наставництво від людей, і все це безкоштовно.