المسارات
/
Python
Python
/
التمارين
/
خبير ألوان المقاومات
خبير ألوان المقاومات

خبير ألوان المقاومات

سهل

مقدمة

إذا أردت بناء شيء باستخدام Raspberry Pi، فغالبًا ستستخدم المقاومات. مثل التمرينين السابقين Resistor Color Duo و Resistor Color Trio، ستقوم بترجمة أشرطة ألوان المقاومات إلى تسميات مقروءة للبشر.

  • لكل مقاوم قيمة مقاومة.
  • المقاومات صغيرة، صغيرة إلى حد أنك لو طبعت قيمة المقاومة عليها، لكان من الصعب قراءتها. للتغلب على هذه المشكلة، تطبع الشركات المصنعة أشرطة مرمزة بالألوان على المقاومات للدلالة على قيم مقاومتها.
  • كل شريط يمثل خانة من خانات عدد. على سبيل المثال، إذا طبعوا شريطًا بنيًا (قيمته 1) يليه شريط أخضر (قيمته 5)، فسيُترجم إلى العدد 15.

التعليمات

في هذا التمرين، ستنشئ برنامجًا مفيدًا حتى لا تضطر إلى تذكّر قيم الأشرطة. سيأخذ البرنامج 1 أو 4 أو 5 ألوان كمدخلات، ويُخرج القيمة الصحيحة بوحدة ohms. تُرمَّز أشرطة الألوان كما يلي:

  • 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 تعني 323 million ohms بتفاوت ±0.1%.

هناك أيضًا مقاومات بشريط واحد. المقاومات ذات الشريط الواحد لا تحتوي إلا على اللون black بقيمة 0.

ينبغي لبرنامجك أن يُترجم مُدخَلًا list من ألوان أشرطة المقاومة إلى تسمية:

"... ohms ±...%"

إذن، مُدخَل list يساوي ["orange", "orange", "black", "green"] يجب أن يُرجع:

"33 ohms ±0.5%"

عندما تكون القيمة بالآلاف من ohms، نقول "kiloohms". وهذا مشابه لقول كيلومتر مقابل 1000 متر، وكيلوغرام مقابل 1000 غرام.

إذن، مُدخَل list يساوي ["orange", "orange", "orange", "grey"] يجب أن يُرجع:

"33 kiloohms ±0.05%"

عندما تكون القيمة بالملايين من ohms، نقول "megaohms".

إذن، مُدخَل list يساوي ["orange", "orange", "blue", "red"] يجب أن يُرجع:

"33 megaohms ±2%"

تعديل عبر GitHub يفتح الرابط في نافذة أو علامة تبويب جديدة
Python Exercism

مستعد لبدء خبير ألوان المقاومات؟

سجّل في Exercism لتتعلّم وتتقن Python عبر 17 مفهومًا146 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.