अगर आप 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"
अगर इनपुट अमान्य है, तो खाली लंबाई लौटाइए।
पहली स्ट्रिंग का बफर लीनियर मेमोरी के बाइट 1024-2047 इस्तेमाल करता है। दूसरी स्ट्रिंग का बफर लीनियर मेमोरी के बाइट 2048-3071 इस्तेमाल करता है। तीसरी स्ट्रिंग का बफर लीनियर मेमोरी के बाइट 3072-4095 इस्तेमाल करता है।
लीनियर मेमोरी के बाइट 0-1023 का पहला सेगमेंट इस्तेमाल के लिए उपलब्ध है।
Exercism पर साइन अप कीजिए और WebAssembly को 87 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।