एल्गोरिदम और प्रोग्रामिंग
एल्गोरिदम (algorithm) किसी समस्या को हल करने के साफ़ चरणों की सूची है। प्रोग्राम वह एल्गोरिदम है जिसे कंप्यूटर चला सके।
अच्छे चरण क्रम में होते हैं, हर चरण में एक बात, और वे कहीं खत्म होते हैं। इन्हें फ्लोचार्ट में बना सकते हैं: काम के लिए डिब्बा, हाँ/नहीं सवाल के लिए हीरा, और बीच में तीर।
तीन ही बुनियादी हिस्से हैं। क्रम (sequence): एक के बाद एक। चयन (selection): अगर / वरना। दोहराव (loop)। हर औद्योगिक प्रोग्राम इन्हीं से बनता है।
उदाहरण, रीडिंग का औसत: 1) जोड़ = 0 रखो। 2) हर रीडिंग को जोड़ में जोड़ो। 3) जोड़ को रीडिंग की संख्या से भाग दो। 4) उत्तर दिखाओ।
डेटा इनपुट और आउटपुट
इनपुट वह डेटा है जो प्रोग्राम में जाता है: कीबोर्ड, फ़ाइल या सेंसर (ताप, दाब, गति) से। आउटपुट वह है जो बाहर आता है: स्क्रीन पर लिखा, छपी रिपोर्ट, सेव फ़ाइल, या मोटर या लैंप चलाने वाला संकेत।
संख्या के साथ हमेशा इकाई लिखिए (23 °से, सिर्फ़ 23 नहीं)। इनपुट की जाँच भी कीजिए: कमरे में 900 °से आए तो सेंसर ख़राब है।
डेटा चर (variable) में रहता है। एक जैसी रीडिंग का समूह सूची (list/array) में: readings = [20, 26, 22, 28, 19]।
गणितीय प्रक्रिया
प्रोसेस का मतलब डेटा पर गणित करके काम की चीज़ निकालना है। आम काम: जोड़, औसत, अधिकतम और न्यूनतम, इकाई बदलना और स्केलिंग।
औसत = जोड़ ÷ रीडिंग की संख्या। °F = °C × 9/5 + 32। स्केलिंग: सेंसर 0 से 5 V देता है 0 से 100 °से के लिए, तो ताप = वोल्ट × 20।
मशीन के हिसाब में छोटी पूर्णांकन-त्रुटि आ सकती है। गोल (round) आख़िर में कीजिए।
नियंत्रण प्रोग्रामिंग
नियंत्रण प्रोग्राम मशीन को मनचाही हालत में रखता है। वह लूप चलाता है: सेंसर पढ़ो, सेट मान से तुलना करो, उपकरण पर कार्रवाई करो, फिर दोहराओ। यही फ़ीडबैक है: कार्रवाई का असर फिर पढ़ा जाता है।
ऑन/ऑफ नियंत्रण: अगर ताप < सेट मान तो हीटर चालू, वरना बंद। सस्ता और सरल, प्रेस, गीज़र और फ्रिज में।
असली सिस्टम में सुरक्षा भी होती है: अधिकतम सीमा पर हीटर हमेशा बंद, और छोटा अंतराल (hysteresis) ताकि रिले हर सेकंड खटखट न करे।
करके देखिए: कागज़ पर थर्मोस्टेट
गीज़र का नियम कागज़ पर लिखिए: सेट मान 45 °से। तीन ताप लीजिए: 38, 45 और 52 °से। हर एक के लिए हीटर चालू या बंद लिखिए। फिर 3D में स्लाइडर से अपने तीनों उत्तर जाँचिए।
मुख्य सूत्र और परिभाषाएँ
- औसत = रीडिंग का जोड़ ÷ रीडिंग की संख्या
- °F = °C × 9/5 + 32
- स्केल किया मान = रीडिंग × (पूरी सीमा ÷ पूरा संकेत)
- ऑन/ऑफ नियम: अगर ताप < सेट तो हीटर चालू वरना बंद
हल किए गए उदाहरण
1. रीडिंग 12, 15, 18 और 15 हैं। औसत निकालिए।
जोड़ = 60, संख्या = 4। औसत = 60 ÷ 4 = 15।
2. सेंसर 0 से 5 V देता है 0 से 100 °से के लिए। रीडिंग 2.5 V है। ताप निकालिए।
हर वोल्ट = 100 ÷ 5 = 20 °से। ताप = 2.5 × 20 = 50 °से।
3. 30 °से को °F में बदलिए।
°F = 30 × 9/5 + 32 = 54 + 32 = 86 °F।
4. भट्ठी का सेट मान 800 °से है। अभी 780 °से है। प्रोग्राम क्या करेगा? और 820 °से पर?
780 पर: 780 < 800, हीटर चालू। 820 पर: 800 से कम नहीं, हीटर बंद।
5. 4 रीडिंग में सबसे बड़ी निकालने का एल्गोरिदम लिखिए।
पहली रीडिंग को "max" मानो। बाकी हर रीडिंग के लिए: अगर max से बड़ी है तो वही नया max। अंत में max दिखाओ।
आम गलतियाँ
- संख्या के साथ इकाई न लिखना।
- औसत में ग़लत संख्या से भाग देना।
- हीटर का नियम उल्टा लगाना (पहले से गर्म हो तो भी चालू)।
- सेंसर के हर मान पर बिना जाँचे भरोसा करना।