مسیرها
/
WebAssembly
WebAssembly
/
تمرین‌ها
/
رنگ مقاومت دوگانه
رنگ مقاومت دوگانه

رنگ مقاومت دوگانه

متوسط

دستورالعمل‌ها

اگر بخواهید با Raspberry Pi چیزی بسازید، احتمالاً از مقاومت‌ها استفاده می‌کنید. برای این تمرین، باید دو نکته را درباره‌ی آن‌ها بدانید:

  • هر مقاومت یک مقدار مقاومت دارد.
  • مقاومت‌ها کوچک‌اند، آن‌قدر کوچک که اگر مقدار مقاومت را روی‌شان چاپ کنید، خواندنش سخت می‌شود.

برای حل این مشکل، تولیدکنندگان نوارهایی با کد رنگی روی مقاومت‌ها چاپ می‌کنند تا مقدار مقاومت‌شان را نشان دهند. هر نوار یک موقعیت و یک مقدار عددی دارد.

۲ نوار اول یک مقاومت یک طرح رمزگذاری ساده دارند: هر رنگ به یک عدد مشخص نگاشت می‌شود. برای مثال، اگر نواری با رنگ brown (با مقدار 1) و سپس نواری با رنگ green (با مقدار 5) چاپ کنند، به عدد 15 تبدیل می‌شود.

در این تمرین می‌خواهید برنامه‌ای مفید بسازید تا لازم نباشد مقدار نوارها را به خاطر بسپارید. برنامه نام رنگ‌ها را به‌عنوان ورودی می‌گیرد و یک عدد دورقمی را به‌عنوان خروجی می‌دهد، حتی اگر ورودی بیش از دو رنگ باشد!

رنگ نوارها به این صورت رمزگذاری شده‌اند:

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

از مثال بالا: brown-green باید 15 را برگرداند و brown-green-violet هم باید 15 را برگرداند و رنگ سوم را نادیده می‌گیرد.

آدرس‌های رزروشده

بافر رشته‌ی اول بایت‌های 1024 تا 2047 حافظه‌ی خطی را در بر می‌گیرد. بافر رشته‌ی دوم بایت‌های 2048 تا 3071 حافظه‌ی خطی را در بر می‌گیرد.

لازم نیست این بافرها را تغییر دهید یا حافظه‌ی بیشتری تخصیص دهید.

ویرایش از طریق GitHub این لینک در پنجره یا زبانه‌ی جدیدی باز می‌شود
WebAssembly Exercism

آماده‌اید رنگ مقاومت دوگانه را شروع کنید؟

در Exercism ثبت‌نام کنید تا WebAssembly را همراه با 87 تمرین و مربی‌گری انسانی واقعی یاد بگیرید و در آن استاد شوید، همه‌ی این‌ها رایگان.