إذا أردت بناء شيء باستخدام Raspberry Pi، فغالبًا ستستخدم المقاومات.
مثل التمرينين السابقين Resistor Color Duo و Resistor Color Trio، ستقوم بترجمة أشرطة ألوان المقاومات إلى تسميات مقروءة للبشر.
في هذا التمرين، ستنشئ برنامجًا مفيدًا حتى لا تضطر إلى تذكّر قيم الأشرطة. سيأخذ البرنامج 1 أو 4 أو 5 ألوان كمدخلات، ويُخرج القيمة الصحيحة بوحدة ohms. تُرمَّز أشرطة الألوان كما يلي:
في Resistor Color Trio فكّكت ترميز أشرطة الألوان الثلاثة الأولى.
على سبيل المثال: يُترجم orange-orange-brown إلى القيمة الأساسية 330.
في هذا التمرين ستحتاج إلى إضافة التفاوت إلى المعادلة.
التفاوت هو الحد الأقصى الذي يمكن أن تزيد به القيمة أو تنقص عن القيمة الأساسية.
على سبيل المثال، إذا كان الشريط الأخير green، فسيكون أقصى تفاوت ±0.5%.
سيكون لشريط التفاوت إحدى هذه القيم:
تُبنى المقاومة ذات الأشرطة الأربعة هكذا:
| الشريط_1 | الشريط_2 | الشريط_3 | الشريط_4 |
|---|---|---|---|
| القيمة_1 | القيمة_2 | المضاعف | التفاوت |
أمثلة:
330 ohms بتفاوت ±0.5%.3300 ohms بتفاوت ±0.05%.الفرق بين المقاومة ذات الأربعة أشرطة والمقاومة ذات الخمسة أشرطة هو أن الأخيرة لها شريط إضافي يشير إلى قيمة أكثر دقة.
| الشريط_1 | الشريط_2 | الشريط_3 | الشريط_4 | الشريط_5 |
|---|---|---|---|---|
| القيمة_1 | القيمة_2 | القيمة_3 | المضاعف | التفاوت |
أمثلة:
333 ohms بتفاوت ±0.5%.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%"
سجّل في Exercism لتتعلّم وتتقن Python عبر 17 مفهومًا146 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.