पाठ 3: सशर्त कथन
पिछले पाठ में, आपने सीखा कि किसी प्रोजेक्ट में ऑप्टिकल सेंसर से डेटा का उपयोग करके डिस्क को रंग के आधार पर कैसे सॉर्ट किया जाए। इस पाठ में, आप VEXcode में विकल्पों का पता लगाने के लिए जो कुछ भी सीखा है, उसे आगे बढ़ाएंगे, जो परियोजना को निर्णय लेने में सक्षम बनाता है, चाहे ऑप्टिकल सेंसर द्वारा कोई भी रंग पता लगाया जाए। आप इनके बारे में जानेंगे:
- औद्योगिक परिवेश में निर्णय लेने की प्रक्रिया को अनुकूलित करना क्यों महत्वपूर्ण है?
- यदि तो,यदि तो अन्यथा, औरअन्यथा यदिब्लॉकों के बीच का अंतर।
एकाधिक शर्तों की जाँच करना
पिछले पाठ में आपने एक प्रोजेक्ट बनाया था जो डिस्क को रंग के आधार पर लाल पैलेट या हरे पैलेट में वर्गीकृत कर सकता था। यद्यपि यह प्रभावी है, लेकिन परियोजना एक समय में केवल एक डिस्क को ही सॉर्ट कर सकती है। किसी कारखाने में, कई वस्तुओं को बार-बार छांटने और पैलेट करने की आवश्यकता होती है। इसे प्रभावी ढंग से करने के लिए, 6-अक्ष भुजा को बार-बार यह निर्णय लेने में सक्षम होना चाहिए कि वस्तुओं को कैसे स्थानांतरित किया जाए, या क्या मानवीय हस्तक्षेप की आवश्यकता है। 6-अक्ष भुजा पाठ्यक्रम के परिचय में आपने जिन क्यूब्स को स्थानांतरित किया था, उन पर विचार करें।
क्या होगा यदि लोडिंग क्षेत्र में एक नीला क्यूब हो? पिछले पाठ से परियोजना में क्या होगा? औद्योगिक परिवेश में, सभी संभावित स्थितियों पर विचार किया जाना आवश्यक है। यदि कोई गलत वस्तु छांटने वाली वस्तुओं में मिल जाती है, तो यह सुनिश्चित करने के लिए कि कार्य कक्ष और उसके आसपास के श्रमिक सुरक्षित रहें तथा प्रभावी ढंग से कार्य करते रहें, मानवीय हस्तक्षेप की आवश्यकता होगी।
अनुक्रमिकयदि तोब्लॉक
पिछले पाठ में, आपने दो अलग-अलग स्थितियों की एक के बाद एक जांच करने के लिए क्रम में दोयदि तोब्लॉकों का उपयोग किया था, जो अनिवार्य रूप से परियोजना के भीतर दो प्रश्न पूछ रहे थे।

पहले, वस्तु लाल है?, फिर, क्या वस्तु हरी है?. प्रत्येक बार प्रोजेक्ट चलाने पर प्रत्येक स्थिति की जांच की जाती है, चाहे ऑप्टिकल सेंसर द्वारा क्या पता लगाया गया हो। यद्यपि यह संरचना आपको एक समय में एक डिस्क को प्रभावी ढंग से सॉर्ट करने में सक्षम बनाती है, लेकिन ऐसा करने का यह सबसे कुशल तरीका नहीं है। लाल डिस्क को छांटा जा सकता है, लेकिन ऑप्टिकल सेंसर पर्यावरण में किसी अन्य चीज से हरे रंग का भी पता लगा सकता है, और इसके विपरीत भी। ऐसी वस्तु पर भी कोई विचार नहीं किया जाता जो न तो लाल हो और न ही हरी, जैसे कि कोई अप्रत्याशित वस्तु जो सुरक्षा संबंधी समस्या उत्पन्न कर सकती है।
परियोजना प्रवाह छवियाँ
इस पाठ में, VEXcode परियोजनाओं के प्रवाह को समझाने वाली छवियां साझा की गई हैं। आप पाठ के माध्यम से आगे बढ़ते हुए इन छवियों को अपनी इंजीनियरिंग नोटबुक में पुनः बना सकते हैं।
अपनी नोटबुक में आपके लिए सबसे अच्छा काम करने वाले विज़ुअलाइज़ेशन बनाने में मदद के लिए Google स्लाइड या Microsoft PowerPoint में तीर, बॉक्स या फ़्लोचार्ट जैसे टूल का उपयोग करें।

अनुक्रमिकयदि तो अन्यथाब्लॉक
एक अलग ब्लॉक है जिसका उपयोग हमें लाल और हरे रंग की स्थितियों की जांच करने और एक अलग रंग के लिए जिम्मेदार बनाने में सक्षम बनाने के लिए किया जा सकता है। यदि तो अन्यथाब्लॉक एक C ब्लॉक है जो रिपोर्ट किए गए बूलियन मान के आधार पर या तोयदिशाखा याअन्यथाशाखा के अंदर ब्लॉक चलाता है।

यदिशाखा हो तो या यदि शाखा हो तोचलाने के बाद, परियोजना स्टैक में अगले ब्लॉक पर चली जाएगी। शाखाओं को अधिक दृश्यमान बनाने के लिएIf then elseब्लॉकों का प्रोजेक्ट प्रवाह भी दिखाया जा सकता है।

ध्यान दें कि इन उदाहरणों में, elseशाखा का उपयोग किसी वस्तु के न तो लाल और न ही हरे होने की स्थिति को संभालने के लिए किया जाता है। ऐसी स्थिति में मानवीय हस्तक्षेप की आवश्यकता होगी। पहले आपने पढ़ा था कि सिग्नल टॉवर पर नीली रोशनी का उपयोग मानवीय हस्तक्षेप की आवश्यकता को इंगित करने के लिए किया जाता है। इसके अतिरिक्त, नियंत्रित स्टॉप 6-एक्सिस आर्म की गति को रोक देगा ताकि लोगों और मशीनरी को सुरक्षित रखा जा सके। एक सेट सिग्नल टावरब्लॉक और एकसेट कंट्रोल स्टॉपब्लॉक कोअन्यथाशाखा में जोड़ा जा सकता है, ताकि कोई वस्तु जो लाल या हरी नहीं थी, इन सुरक्षा सुविधाओं को ट्रिगर करेगी।

अब तक प्राप्त चित्रों में केवल यह दिखाया गया है कि वस्तु के लाल होने की स्थिति से कैसे निपटा जाए। वस्तु के हरे होने की स्थिति की जांच करने के लिए एक और यदि तो अन्यथाआवश्यकता है।

आइये इस संरचना के साथ परियोजना प्रवाह के बारे में सोचें। प्रत्येक बार जब परियोजना चलाई जाएगी, तो अनेक शाखाएं चलेंगी, चाहे ऑप्टिकल सेंसर द्वारा कोई भी रंग पहचाना जाए।

आइये एक लाल डिस्क के उदाहरण से इस बारे में सोचें। यदि ऑप्टिकल सेंसर लाल रंग का पता लगाता है, तो पहलेयदि तो अन्यथाब्लॉक की स्थिति सत्य के रूप में रिपोर्ट करेगी। यदिशाखा के अंदर का ब्लॉक चलेगा, 6-अक्ष भुजा को लाल पैलेट पर ले जाएगा। हालाँकि, दूसरेIf then elseब्लॉक के अंदर की स्थिति झूठी रिपोर्ट करेगी। इसका अर्थ यह है कि इसकीअन्यथाशाखा के अंदर का ब्लॉक चलेगा, जिससे 6-अक्षीय भुजा नियंत्रित स्टॉप पर आ जाएगी और सिग्नल टॉवर पर नीला चमकेगा। चूंकि 6-अक्षीय भुजा नियंत्रित रोक स्थिति में होगी, इसलिए परियोजना में कोई अन्य ब्लॉक नहीं चल सकेगा, और जब तक इसका समाधान नहीं हो जाता, तब तक सभी परिचालन बंद रहेंगे।

हालांकि अब हम एक अप्रत्याशित वस्तु (जैसे कि एक नीला क्यूब) का हिसाब रख सकते हैं, लेकिन 6-एक्सिस आर्म कभी भी डिस्क को पैलेट पर छोड़ने के प्रोजेक्ट के बिंदु तक नहीं पहुंच पाएगा। लाल और हरे रंग की स्थितियों को एक के बाद एक जांचने के बजाय, यह जांचने का एक तरीका है कि क्या कोई वस्तु हरी है या नहीं, केवलयायदि वस्तु लाल नहीं है।
नेस्टेडयदि तो अन्यथाब्लॉक
यदि तो अन्यथाब्लॉक की प्रत्येक शाखा अपने भीतर अन्य C ब्लॉक को स्वीकार कर सकती है। इसे 'घोंसला बनाना' कहा जाता है। इसका मतलब यह है कि दूसरेIf then elseब्लॉक को पहले वाले कीelseशाखा के भीतर इस तरह से नेस्ट किया जा सकता है।
अब ऑप्टिकल सेंसर द्वारा हरे रंग का पता लगाने की स्थिति की जांच केवल तभी की जाएगी जब पिछली स्थिति (ऑप्टिकल सेंसर द्वारा लाल रंग का पता लगाना) गलत रिपोर्ट करेगी। इसलिए जब ऑप्टिकल सेंसर लाल रंग का पता लगाता है, तो केवल पहली(यदिशाखा ही चलेगी, जिससे डिस्क लाल पैलेट के ऊपर चली जाएगी।

यदि ऑप्टिकल सेंसर हरे रंग का पता लगाता है, तो पहलीयदिशाखा (ऑप्टिकल लाल का पता लगाता है) की स्थिति गलत रिपोर्ट करेगी, और इसलिएअन्यथाशाखा चलेगी। नेस्टेड If then elseब्लॉक की स्थिति की जांच यह देखने के लिए की जाएगी कि क्या ऑप्टिकल सेंसर हरे रंग का पता लगाता है। वह स्थिति सत्य के रूप में रिपोर्ट होगी, इसलिए दूसरीयदिशाखा के अंदर का ब्लॉक चलेगा, डिस्क को हरे रंग के पैलेट पर ले जाएगा।
यदि ऑप्टिकल सेंसर द्वारा न तो लाल और न ही हरा का पता लगाया गया (जैसे कि नीले क्यूब को उठाए जाने के मामले में), तो दोनों ही स्थितियां गलत बताई जाएंगी, और इसलिए नेस्टेडयदि तब अन्यथाब्लॉक कीअन्यथाशाखा चलेगी, जिससे एक नियंत्रित स्टॉप सक्रिय हो जाएगा और श्रमिकों को मानवीय हस्तक्षेप की आवश्यकता के बारे में सचेत किया जाएगा। इन परियोजना प्रवाहों को प्रवाह चार्ट के रूप में भी देखा जा सकता है, जैसा कि यहां देखा गया है।

नेस्टेडयदि तो अन्यथाब्लॉकप्रश्नों की कैस्केडिंग सूची के रूप में देखा जा सकता है। यहां प्रश्न इस प्रकार हैं:
- क्या वस्तु लाल है?
- हाँ? लाल पट्टी से हट जाओ और सवाल पूछना बंद करो।
- नहीं? दूसरा प्रश्न पूछें.
- क्या वस्तु हरी है?
- हाँ? हरे रंग की पट्टी से हट जाओ और सवाल पूछना बंद करो।
- नहीं? तब वस्तु लाल या हरी नहीं होती। सिग्नल टॉवर के रंग बदलें और नियंत्रित स्टॉप को ट्रिगर करें।
- क्या वस्तु हरी है?
ध्यान दें कि प्रश्न केवल तभी पूछे जाते हैं जब पिछले प्रश्न का उत्तर नकारात्मक दिया गया हो।
जबकि यह उन सभी स्थितियों को संभालता है जिन्हें हम जांचना चाहते हैं, एक और ब्लॉक है जो उसी तरह से स्थितियों की जांच करेगा, लेकिन नेस्टिंग ब्लॉक की तुलना में इसे बनाना आसान है।
अन्यथा यदिब्लॉक
अन्यथा यदि ब्लॉक आपको एक ही ब्लॉक के भीतर कई स्थितियों की जांच करने में सक्षम बनाता है। इस ब्लॉक की प्रत्येक स्थिति की क्रमिक रूप से जाँच की जाएगी, केवल तभी जब पूर्ववर्ती स्थिति गलत रिपोर्ट करे। यदि else if शाखाओं के लिए सभी बूलियन शर्तें गलत हैं, तो else अनुभाग के अंदर के ब्लॉक चलाए जाएंगे।

इस ब्लॉक का प्रोजेक्ट प्रवाह नेस्टेडIf then elseब्लॉक के समान ही है, लेकिन इसे बनाना आसान है, क्योंकि ब्लॉकों को नेस्ट करने की कोई आवश्यकता नहीं है। आप निम्नलिखित पाठ में Else ifब्लॉक के साथ कोडिंग के बारे में अधिक जानेंगे।
अपनी समझ की जाँच करें
अगले पाठ पर जाने से पहले, अपनी इंजीनियरिंग नोटबुक में निम्नलिखित प्रश्नों के उत्तर देकर सुनिश्चित करें कि आप इस पाठ की अवधारणाओं को समझते हैं।
अपनी समझ की जाँच करें प्रश्न > (Google Doc/ .docx / .pdf)
किसी प्रोजेक्ट में अन्यथाब्लॉक लागू करने के लिएअगला >चयन करें।