नियंत्रण#

परिचय#

VEXcode में कंट्रोल ब्लॉक लूप, कंडीशन को हैंडल करके और ब्लॉक को चलने से रोककर प्रोजेक्ट के फ्लो को मैनेज करते हैं।

लूप वह स्थिति है जब कंप्यूटर एक ही चरण या चरणों के समूह को तब तक बार-बार दोहराता है जब तक उसे रुकने का निर्देश नहीं दिया जाता। स्थिति वह नियम है जिसकी जाँच कंप्यूटर यह तय करने के लिए करता है कि आगे क्या करना है। उदाहरण के लिए, यदि भुजा किसी वस्तु को हिला रही है तो प्रकाश चालू हो सकता है।

नीचे उपलब्ध ब्लॉकों की सूची दी गई है:

  • प्रतीक्षा – एक विशिष्ट अवधि के लिए ब्लॉकों को चलने से रोकता है।

  • जब तक प्रतीक्षा करें – निर्दिष्ट शर्त पूरी होने तक ब्लॉक को चलने से रोकता है।

  • repeat – ब्लॉकों के एक सेट को एक विशिष्ट संख्या में दोहराता है।

  • हमेशा – ब्लॉकों के एक सेट को अनिश्चित काल तक दोहराता है।

  • repeat until – एक शर्त पूरी होने तक ब्लॉकों के एक सेट को दोहराता है।

  • while – एक शर्त सही रहने तक ब्लॉकों के एक सेट को दोहराता है।

  • अगर – यदि कोई शर्त सही है तो ब्लॉकों का एक सेट चलाता है।

  • अगर / अन्यथा – यदि कोई शर्त सही है तो ब्लॉकों का एक सेट चलाता है, अन्यथा दूसरा चलाता है।

  • अगर / अन्यथा अगर / अन्यथा – कई शर्तों के आधार पर ब्लॉक के अलग-अलग सेट चलाता है।

  • break – repeat, forever, repeat until, या while लूप से तुरंत बाहर निकलता है।

  • प्रोजेक्ट रोकें – प्रोजेक्ट समाप्त करता है।

इंतज़ार#

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

प्रतीक्षा स्टैक ब्लॉक#
(1) सेकंड प्रतीक्षा करें

पैरामीटर

विवरण

समय

प्रतीक्षा करने का समय, धनात्मक पूर्णांक या दशमलव संख्या के रूप में सेकंड में।

उदाहरण

शुरू होने पर, यह एक सेकंड के लिए आगे बढ़ता है, फिर पूरी तरह से रुक जाता है।#
जब शुरू हो
[Move to the left, then the right after one second.]
[भुजा v] की स्थिति को x:[100] y:[0] z:[0] [mm v] से बढ़ाएं ▶
(1) सेकंड प्रतीक्षा करें
[भुजा v] की स्थिति को x:[-100] y:[0] z:[0] [mm v] से बढ़ाएं ▶

जब तक इंतजार#

वेट अंटिल स्टैक ब्लॉक, निर्दिष्ट शर्त पूरी होने तक ब्लॉकों को चलने से रोकता है, उसके बाद ही अगले ब्लॉक पर जाता है।

स्टैक ब्लॉक तक प्रतीक्षा करें#
<> होने तक प्रतीक्षा करें

पैरामीटर

विवरण

स्थिति

अगले ब्लॉक पर जाने से पहले जिस शर्त को पूरा करना आवश्यक है।

दोहराना#

रिपीट सी ब्लॉक अपने अंदर के ब्लॉकों को एक निश्चित संख्या में बार-बार चलाता है।

सी ब्लॉक को दोहराएँ#
[10] बार दोहराएं
अंत

पैरामीटर

विवरण

टाइम्स

एक पूर्ण संख्या जो यह निर्धारित करती है कि रिपीट ब्लॉक कितनी बार चलेगा।

उदाहरण

जब शुरू हो
[Move in a square pattern.]
[4] बार दोहराएं
[भुजा v] की स्थिति को x:[2] y:[0] z:[0] [इंच v] से बढ़ाएं ▶
[भुजा v] की स्थिति को x:[0] y:[2] z:[0] [इंच v] से बढ़ाएं ▶
[भुजा v] की स्थिति को x:[-2] y:[0] z:[0] [इंच v] से बढ़ाएं ▶
[भुजा v] की स्थिति को x:[0] y:[2] z:[0] [इंच v] से बढ़ाएं ▶
अंत

हमेशा के लिए#

यह हमेशा चलने वाला सी ब्लॉक अपने अंदर के ब्लॉकों को बिना रुके बार-बार चलाता रहता है।

हमेशा के लिए सी ब्लॉक#
हमेशा
अंत

पैरामीटर

विवरण

इस ब्लॉक में कोई पैरामीटर नहीं है।

उदाहरण

शुरू होने पर, यह एक वर्गाकार पथ पर लगातार 50 मिमी आगे बढ़ता है और 90 डिग्री दाएं मुड़ता है, जो एक अनंत लूप में घूमता रहता है।#
जब शुरू हो
[Move in a square path forever.]
हमेशा
[भुजा v] की स्थिति को x:[2] y:[0] z:[0] [इंच v] से बढ़ाएं ▶
[भुजा v] की स्थिति को x:[0] y:[2] z:[0] [इंच v] से बढ़ाएं ▶
[भुजा v] की स्थिति को x:[-2] y:[0] z:[0] [इंच v] से बढ़ाएं ▶
[भुजा v] की स्थिति को x:[0] y:[2] z:[0] [इंच v] से बढ़ाएं ▶
अंत

दोहराओ जब तक#

रिपीट अंटिल ब्लॉक निर्दिष्ट शर्त पूरी न होने तक इसके अंदर के ब्लॉकों को बार-बार चलाता है।

ब्लॉक होने तक दोहराएँ#
<> होने तक दोहराएं
अंत

पैरामीटर

विवरण

स्थिति

एक एक्सप्रेशन या वेरिएबल जिसकी जाँच प्रत्येक लूप से पहले की जाती है। यदि यह False है, तो लूप दोहराना जारी रहता है। यदि यह True है, तो लूप रुक जाता है।

उदाहरण

शुरू होने पर, स्क्रीन को दबाए जाने तक सभी एलईडी लाल रंग में जलती रहती हैं, फिर उन्हें बंद कर देती हैं।#
जब शुरू हो
[Increment along the x-axis until it's no longer possible.]
<नहीं <[भुजा v] स्थिति को x:[100] y:[0] z:[0] [mm v] से बढ़ा सकता है?>> होने तक दोहराएं
[भुजा v] की स्थिति को x:[100] y:[0] z:[0] [mm v] से बढ़ाएं ▶
अंत
[भुजा v] को नियंत्रण रोकने पर सेट करें

जबकि#

while C ब्लॉक निर्दिष्ट शर्त पूरी होने तक अंदर के ब्लॉकों को बार-बार चलाता है।

जबकि सी ब्लॉक#
जबकि <>
अंत

पैरामीटर

विवरण

स्थिति

एक एक्सप्रेशन या वेरिएबल जिसकी जाँच प्रत्येक लूप से पहले की जाती है। यदि यह True है, तो ब्लॉक दोहराते रहते हैं। यदि यह False है, तो लूप रुक जाएगा।

उदाहरण

ब्लॉकों का एक समूह जो ‘व्हेन स्टार्टेड’ ब्लॉक से शुरू होता है, उसके बाद ‘कमेंट’ ब्लॉक आता है जिसमें लिखा होता है “2 सेकंड बीतने के बाद समय प्रदर्शित करें”। ‘वेट अंटिल’ ब्लॉक टाइमर के दो सेकंड तक पहुंचने या उससे अधिक होने तक निष्पादन को रोक देता है। यह शर्त पूरी होने पर, ‘प्रिंट’ ब्लॉक टाइमर का मान स्क्रीन पर प्रदर्शित करता है।#
जब शुरू हो
[Display the 6-Axis Arm's position as it moves.]
[भुजा v] को स्थिति x:(-100) y:(200) z:(100) [mm v] पर ले जाएं ◀ और प्रतीक्षा न करें
जबकि <नहीं <[भुजा v] चलना बंद हो गया?>>
कंसोल पर ([mm v] में [भुजा v] की [y v] स्थिति) प्रिंट करें ◀ और कर्सर को अगली पंक्ति पर सेट करें
[0.25] सेकंड प्रतीक्षा करें

अगर#

if ब्लॉक के भीतर के ब्लॉक तभी चलते हैं जब शर्त True होती है।

यदि ब्लॉक#
यदि <> तो
अंत

पैरामीटर

विवरण

स्थिति

एक एक्सप्रेशन या वेरिएबल जिसकी जाँच स्टेटमेंट चलने पर की जाती है। यदि यह True है, तो if ब्लॉक के अंदर के ब्लॉक चलेंगे। यदि यह False है, तो ब्लॉक छोड़ दिए जाएँगे।

उदाहरण

जब शुरू हो
[Check if the 6-Axis Arm can move to a position.]
यदि <नहीं <[भुजा v] स्थिति x:[0] y:[0] z:[0] [mm v] पर जा सकता है?>> तो
[The 6-Axis Arm can't move to this position.] प्रिंट करें ◀ और कर्सर को अगली पंक्ति पर सेट करें

यदि / अन्यथा#

if / else C ब्लॉक यह निर्धारित करता है कि शर्त True है या False, इसके आधार पर ब्लॉकों का कौन सा सेट चलेगा।

यदि तब अन्यथा ब्लॉक#
यदि <> तो
अन्यथा
अंत

पैरामीटर

विवरण

स्थिति

एक एक्सप्रेशन या वेरिएबल जिसकी जाँच स्टेटमेंट चलने पर की जाती है। यदि यह True है, तो if ब्लॉक के अंदर के ब्लॉक चलेंगे। यदि यह False है, तो else ब्लॉक के अंदर के ब्लॉक चलेंगे।

उदाहरण

जब शुरू हो
[Check if the 6-Axis Arm can or can't move to a position.]
यदि <नहीं <[भुजा v] स्थिति x:[100] y:[100] z:[100] [mm v] पर जा सकता है?>> तो
कंसोल पर [The 6-Axis Arm can't move to this position.] प्रिंट करें ◀ और कर्सर को अगली पंक्ति पर सेट करें
अन्यथा
कंसोल पर [The 6-Axis Arm can move to this position.] प्रिंट करें ◀ और कर्सर को अगली पंक्ति पर सेट करें

यदि / अन्यथा यदि / अन्यथा#

if / else if / else विस्तार योग्य C ब्लॉक शर्तों के आधार पर यह चयन करता है कि ब्लॉकों का कौन सा सेट चलेगा:

  • if अपने कोड के ब्लॉक को तब चलाता है जब शर्त True के रूप में मूल्यांकित होती है।

  • else if अतिरिक्त शर्तों की जाँच तभी करता है जब पिछली सभी शर्तें गलत साबित हों। एकाधिक else if कथनों का उपयोग किया जा सकता है।

  • else अपने कोड के ब्लॉक को तभी चलाता है जब पिछली कोई भी शर्त True के रूप में मूल्यांकित नहीं होती है।

यदि अन्यथा यदि अन्यथा ब्लॉक#
यदि <> तो
अन्यथा यदि <> तो
अन्यथा
अंत

पैरामीटर

विवरण

स्थिति

एक एक्सप्रेशन या वेरिएबल जिसकी जाँच स्टेटमेंट चलने पर की जाती है। पहली शर्त जो सही होती है, वह ब्लॉक्स के उस सेट को चलाती है। यदि सभी शर्तें गलत साबित होती हैं, तो एल्स ब्लॉक के अंदर के ब्लॉक्स चलेंगे।

उदाहरण

जब शुरू हो
[Move until the 6-Axis Arm is at the corner of the tile.]
यदि <[भुजा v] स्थिति को x:[50] y:[0] z:[0] [mm v] से बढ़ा सकता है?> तो
[भुजा v] की स्थिति को x:[50] y:[0] z:[0] [mm v] से बढ़ाएं ▶
अन्यथा यदि <[भुजा v] स्थिति को x:[0] y:[50] z:[0] [mm v] से बढ़ा सकता है?> तो
[भुजा v] की स्थिति को x:[0] y:[50] z:[0] [mm v] से बढ़ाएं ▶
अन्यथा
कंसोल पर [The 6-Axis Arm has reached the corner.] प्रिंट करें ◀ और कर्सर को अगली पंक्ति पर सेट करें

तोड़ना#

ब्रेक स्टैक ब्लॉक लूप से तुरंत बाहर निकल जाता है। इस ब्लॉक का उपयोग रिपीट, रिपीट अंटिल, व्हाइल और फॉरएवर ब्लॉकों के भीतर किया जा सकता है। ब्रेक तब उपयोगी होता है जब प्रोजेक्ट के दौरान किसी घटना के आधार पर लूप को समय से पहले रोकना आवश्यक हो, जैसे कि बटन दबाना या सेंसर द्वारा किसी वस्तु का पता लगाना।

स्टैक ब्लॉक तोड़ें#
ब्रेक

पैरामीटर

विवरण

इस ब्लॉक में कोई पैरामीटर नहीं है।

परियोजना रोकें#

स्टॉप प्रोजेक्ट स्टैक ब्लॉक चल रहे प्रोजेक्ट को समाप्त करता है।

प्रोजेक्ट ब्लॉक रोकें#
प्रोजेक्ट बंद करें

पैरामीटर

विवरण

इस ब्लॉक में कोई पैरामीटर नहीं है।