पाठ 2: परियोजना-पश्चात सारांश
[यदि तो अन्यथा] ब्लॉक का उपयोग इसलिए किया जाता है ताकि वीआर रोबोट निर्णय ले सके। यदि बूलियन स्थिति सत्य है, तो 'यदि तों' शाखा के अंदर के ब्लॉक चलेंगे। यदि बूलियन स्थिति गलत है, तो 'Else' शाखा के अंदर के ब्लॉक चलेंगे।

इस परियोजना में, वीआर रोबोट एक इमारत की ओर बढ़ रहा था, तभी डिस्टेंस सेंसर ने एक वस्तु का पता लगाया और <Distance found object> ब्लॉक ने सत्य बताया। इसने परियोजना की 'यदि तो' शाखा को चलाने का निर्देश दिया। इस शाखा में [ड्राइव] ब्लॉक शामिल है। इसके बाद वीआर रोबोट परियोजना की 'एल्स' शाखा को छोड़ देता है।

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

यदि <Distance found object> ब्लॉक FALSE रिपोर्ट करता है, तो परियोजना की 'Else' शाखा निष्पादित होती है। 'Else' शाखा में [Turn] ब्लॉक शामिल है।

आपकी जानकारी के लिए
[यदि तो अन्यथा] ब्लॉक का उपयोग यह सुनिश्चित करने के लिए किया जाता है कि शर्त की जाँच होने पर परियोजना में केवल एक शाखा ही चले। किसी भी समय केवल एक ही उदाहरण या स्थिति सत्य हो सकती है। इससे परियोजना अधिक कुशल हो जाती है।

वर्तमान परियोजना की तुलना इकाई 7 में बनाई गई परियोजना से करें। यूनिट 7 परियोजना चार [यदि तो] ब्लॉकों का उपयोग करती है।

जब एकाधिक [If then] ब्लॉकों के साथ एक परियोजना को चलाया जाता है, तो यह संभव हो सकता है कि एकाधिक स्थितियाँ TRUE रिपोर्ट करें और परियोजना [Forever] ब्लॉक में कमांड के माध्यम से चले। इस परियोजना में, दोनों स्थितियाँ समान [Forever] लूप के दौरान TRUE रिपोर्ट कर सकती हैं। इस तरह के टकराव के कारण परियोजना रुक सकती है या धीमी गति से चल सकती है।

[If then else] ब्लॉक का उपयोग करने से इस तरह की त्रुटियों से बचा जा सकता है, क्योंकि इस ब्लॉक के साथ किसी निश्चित समय पर केवल एक ही स्थिति सत्य हो सकती है।
