अगर आप Raspberry Pi की मदद से कुछ बनाना चाहते हैं, तो आप शायद प्रतिरोधक इस्तेमाल करेंगे। इस अभ्यास के लिए आपको इनके बारे में सिर्फ तीन बातें जाननी हैं:
हर प्रतिरोधक की एक प्रतिरोध वैल्यू होती है।
प्रतिरोधक छोटे होते हैं, इतने छोटे कि अगर आप उन पर प्रतिरोध वैल्यू छाप दें, तो उसे पढ़ना मुश्किल हो जाएगा। इस समस्या से निपटने के लिए निर्माता प्रतिरोधकों पर रंगीन पट्टियाँ छापते हैं, और इन पट्टियों से उनकी प्रतिरोध वैल्यू पता चलती है।
हर पट्टी किसी संख्या के एक अंक की तरह काम करती है। उदाहरण के लिए, अगर वे brown रंग की पट्टी (वैल्यू 1) छापें और उसके बाद green रंग की पट्टी (वैल्यू 5), तो इसका मतलब संख्या 15 होगा। इस अभ्यास में आप एक काम का प्रोग्राम बनाएँगे, ताकि आपको पट्टियों की वैल्यू याद रखने की जरूरत न पड़े। यह प्रोग्राम 3 रंग इनपुट के रूप में लेता है और सही वैल्यू ohms में बताता है। इन रंगीन पट्टियों का कोड इस तरह है:
black: 0
brown: 1
red: 2
orange: 3
yellow: 4
green: 5
blue: 6
violet: 7
grey: 8
white: 9
प्रतिरोधक रंग जोड़ी वाले अभ्यास में आपने पहले दो रंगों को संख्या में बदला था।
जैसे: orange-orange से मुख्य वैल्यू 33 मिलती थी।
तीसरा रंग बताता है कि मुख्य वैल्यू में कितने शून्य जोड़ने हैं।
मुख्य वैल्यू में इतने शून्य जोड़ने पर जो वैल्यू मिलती है, वह ohms में होती है।
इस अभ्यास के लिए इससे कोई फर्क नहीं पड़ता कि ohms असल में क्या होते हैं।
उदाहरण के लिए:
(अगर गणित आपकी पसंद है, तो आप इन शून्यों को 10 की घात मान सकते हैं। अगर गणित आपकी पसंद नहीं है, तो शून्यों के साथ ही चलिए। दोनों बातें वास्तव में एक ही हैं, बस एक सीधी भाषा में कही गई है और दूसरी गणित की शब्दावली में।)
इस अभ्यास में आपको रंगों को एक लेबल में बदलना है:
"... ohms"
तो "orange", "orange", "black" इनपुट देने पर प्रोग्राम को यह लौटाना चाहिए:
"33 ohms"
जब प्रतिरोधक बड़े होते हैं, तो बड़े मान को दिखाने के लिए मीट्रिक उपसर्ग इस्तेमाल किया जाता है, जैसे "kiloohms"। यह वैसा ही है जैसे "2000 मीटर" कहने के बजाय "2 किलोमीटर" कहना, या "2000 ग्राम" के लिए "2 किलोग्राम" कहना।
उदाहरण के लिए, "orange", "orange", "orange" इनपुट देने पर प्रोग्राम को यह लौटाना चाहिए:
"33 kiloohms"
| रजिस्टर | उपयोग | टाइप | विवरण |
|---|---|---|---|
$a0 |
इनपुट | एड्रेस | पहला रंग, नल-टर्मिनेटेड स्ट्रिंग के रूप में |
$a1 |
इनपुट | एड्रेस | दूसरा रंग, नल-टर्मिनेटेड स्ट्रिंग के रूप में |
$a2 |
इनपुट | एड्रेस | तीसरा रंग, नल-टर्मिनेटेड स्ट्रिंग के रूप में |
$a3 |
इनपुट/आउटपुट | एड्रेस | नल-टर्मिनेटेड आउटपुट स्ट्रिंग |
$t0-9 |
अस्थायी | कोई भी | अस्थायी भंडारण के लिए इस्तेमाल होता है |
Exercism पर साइन अप कीजिए और MIPS Assembly को 70 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।