प्रोग्रामिंग लूप - पायथन
शिक्षक टूलबॉक्स
-
गतिविधि रूपरेखा
-
इस अध्ययन के माध्यम से छात्रों को रिपीट या फॉरएवर लूप का उपयोग करके दोहराव वाले व्यवहारों को प्रोग्राम करना सिखाया जाएगा।
-
रिपीट और फॉरएवर लूप का उपयोग करके प्रोग्रामिंग सीखने से छात्रों को ऐसे प्रोजेक्ट बनाने में समय बचाने में मदद मिलती है जिनमें समान क्रियाओं को बार-बार दोहराया जाता है। टेक्स्ट प्रोजेक्ट में उपयोग किए गए निर्देशों के बारे में अधिक जानकारी के लिए, सहायतापर जाएँ
क्लॉबॉट V5 चलने के लिए तैयार है!
इस अन्वेषण से आपको लूप का उपयोग करके कुछ बेहतरीन प्रोजेक्ट बनाना शुरू करने के लिए आवश्यक उपकरण प्राप्त होंगे।
- इस अध्ययन में उपयोग किए जाने वाले VEXcode V5 Python निर्देश:
- ड्राइवट्रेन.ड्राइव_फॉर(फॉरवर्ड, 300, एमएम)
- ड्राइवट्रेन.टर्न_फॉर(दाएं, 90, डिग्री)
- क्लॉ_मोटर.स्पिन_फॉर(रिवर्स, 70, डिग्री)
- arm_motor.spin_for(FORWARD, 360, DEGREES)
- बम्पर_बी.प्रेसिंग()
- जबकि सत्य:
- प्रत्येक repeat_count के लिए range(4) में:
- प्रतीक्षा करें (5, सेकंड)
आप VEXcode V5 के अंदर दी गई सहायता जानकारी का उपयोग करके व्यक्तिगतPythonकमांड के बारे में जान सकते हैं।

शिक्षक सुझाव
यदि छात्र पहली बार VEXcode V5 का उपयोग कर रहे हैं, तो वेलाइब्रेरी में विभिन्न लेख पढ़ सकते हैं

शिक्षकों के लिए सुझाव
-
ऑटो-कंप्लीट का उपयोग करना
ऑटो-कंप्लीट VEXcode V5 का एक फीचर है जो आपके द्वारा टाइप किए जा रहे कमांड के बाकी हिस्से का अनुमान लगाता है। चूंकि छात्र VEXcode V5 में काम कर रहे हैं, इसलिए उन्हें पायथन सिंटैक्स में मदद के लिए ऑटो-कंप्लीट सुविधा का उपयोग करने के लिए प्रोत्साहित करें। निर्देश टाइप करना शुरू करते समय आपको ऑटो-कंप्लीट फंक्शन दिखाई दे सकता है। अपनी पसंद का नाम चुनने के लिए "ऊपर" और "नीचे" कुंजियों का उपयोग करें, फिर चयन को अंतिम रूप देने के लिए अपने कीबोर्ड पर "टैब" या (एंटर/रिटर्न) दबाएं। ऑटो-कंप्लीट के उपयोग के बारे में अधिक जानकारी के लिए पायथन लेख देखें।

सुनिश्चित करें कि आपके पास आवश्यक हार्डवेयर, आपका इंजीनियरिंग नोटबुक और VEXcode V5 डाउनलोड और तैयार हैं।
| मात्रा | आवश्यक सामग्री |
|---|---|
| 1 |
VEX V5 क्लासरूम स्टार्टर किट (नवीनतम फर्मवेयर के साथ) |
| 1 |
VEXcode V5 (नवीनतम संस्करण, विंडोज, macOS) |
| 1 |
इंजीनियरिंग नोटबुक |
| 1 |
क्लॉबॉट टेम्पलेट (ड्राइवट्रेन 2-मोटर, बिना जाइरो) उदाहरण प्रोजेक्ट |
चरण 1: आइए लूप के साथ प्रोग्रामिंग शुरू करें
- अपना प्रोजेक्ट शुरू करने से पहले, सही टेम्पलेट प्रोजेक्ट का चयन करें। क्लॉबॉट टेम्प्लेट (ड्राइवट्रेन 2-मोटर, नो जाइरो) उदाहरण प्रोजेक्ट में क्लॉबॉट का मोटर कॉन्फ़िगरेशन शामिल है। यदि टेम्पलेट का उपयोग नहीं किया जाता है, तो आपका रोबोट प्रोजेक्ट को सही ढंग से नहीं चला पाएगा।
-
फ़ाइलऔरउदाहरण खोलें।

-
विभिन्नउदाहरणपरियोजनाओं के माध्यम से स्क्रॉल करें। ये प्रोजेक्ट आपके क्लॉबॉट द्वारा किए जा सकने वाले विभिन्न कार्यों को प्रदर्शित करते हैं। क्लॉबॉट टेम्पलेट (ड्राइवट्रेन 2-मोटर, नो जाइरो)उदाहरण प्रोजेक्ट का चयन करें और खोलें।

-
इस प्रोजेक्ट का नाम RepeatingActions रखें।
-
निम्न कोड टाइप करें:
# लाइब्रेरी आयात vex से आयात * # प्रोजेक्ट कोड प्रारंभ # 4 पुनरावृत्तियों के लिए 300 मिमी आगे बढ़ता है और 90 डिग्री मुड़ता है प्रत्येक repeat_count के लिए range(4): drivetrain.drive_for(FORWARD, 300, MM) drivetrain.turn_for(RIGHT, 90, DEGREES) wait(5, SECONDS)
प्रोजेक्ट को ध्यान से देखें और फिर अपनी इंजीनियरिंग नोटबुक में निम्नलिखित कार्य करें।
-
अनुमान लगाइए कि इस परियोजना में क्लॉबॉट क्या कार्य करेगा। इस तथ्य से कहीं अधिक विस्तार से समझाएं कि परियोजना दोहराई जाती है।
यह क्या दोहरा रहा है? क्लॉबॉट क्या कर रहा है?
- अपनी भविष्यवाणी लिखें, लेकिन लघु परियोजना को दो से अधिक भागों में न बाँटें।
शिक्षक टूलबॉक्स
-
उत्तर
-
इस प्रोजेक्ट में रोबोट को 300 मिलीमीटर आगे बढ़ना होगा, 90 डिग्री दाएं मुड़ना होगा और फिर एक वर्ग को पूरा करने के लिए 5 सेकंड तक 4 बार इंतजार करना होगा। एक ही तरह के तीन निर्देशों को चार बार इस्तेमाल करने के बजाय, दोहराने का निर्देश उस मात्रा को घटाकर केवल एक बार कर देता है। यह निर्देश आगे बढ़ने और फिर मुड़ने की क्रियाओं को दोहराता है।
-
भविष्यवाणी शायद बस इतनी ही हो सकती है कि "क्लॉबॉट एक वर्ग में चलता है।" यह क्लॉबॉट की बार-बार होने वाली गतिविधियों को संक्षेप में बताने का एक तरीका होगा, हालांकि इसमें किसी संदर्भ का अभाव होगा।
छात्रों की इंजीनियरिंग नोटबुक को व्यक्तिगत रूप सेअंक दिए जा सकते हैं औरअंक दिए जा सकते हैं या दिए जा सकते हैं। पिछले लिंक प्रत्येक दृष्टिकोण के लिए एक अलग मानदंड प्रदान करते हैं। जब भी शैक्षिक योजना में कोई मूल्यांकन मानदंड शामिल किया जाता है, तो गतिविधि शुरू होने से पहले मूल्यांकन मानदंड को समझाना या कम से कम छात्रों को उसकी प्रतियां देना एक अच्छी प्रथा है।
-
रिपीटिंग एक्शन्स प्रोजेक्ट को सेव करें, डाउनलोड करें और चलाएं
- अपनी इंजीनियरिंग नोटबुक में प्रोजेक्ट के बारे में दिए गए स्पष्टीकरणों की जाँच करें और आवश्यकतानुसार उनमें सुधार करने के लिए नोट्स जोड़ें।
चरण 2: प्रोजेक्ट चलाएं और रोबोट का निरीक्षण करें।

रिपीटिंग एक्शन्स प्रोजेक्ट (दूसरा प्रोजेक्ट) को फिर से देखें। यह प्रोजेक्ट आगे बढ़ने और फिर मुड़ने की प्रक्रिया को चार बार दोहराएगा। जब आप व्यवहारों के एक समूह को निश्चित संख्या में बार-बार उपयोग करना चाहते हैं, तो "रिपीट" लूप संरचना (फॉरलूप का उपयोग करके) का उपयोग किया जाता है।
यदि रिपीट संरचना को व्हाइल लूप संरचना से बदल दिया जाए, तो रोबोट आगे बढ़ने और फिर मुड़ने के व्यवहारों को तब तक दोहराएगा जब तक कि शर्त सही है। आप शर्त को "" पर सेट करकेहमेशा
लिए जारी रख सकते हैं
प्रोजेक्ट में, सेंसर के इनपुट का उपयोग यह निर्धारित करने के लिए किया जाता है कि कब मुड़ना शुरू करना है।
का प्रोजेक्ट टर्निंग शुरू करने का समय निर्धारित करने के लिए एक निश्चित ड्राइवट्रेन दूरी का उपयोग करता है सेंसर के इनपुट की लगातार जांच करने के लिए, if उपयोग लूप के साथजाता है बाईं ओर के प्रोजेक्ट में, जब "बम्पर_बी" सेंसर दबाया जाएगा तो रोबोट दाईं ओर मुड़ेगा, अन्यथा यदि "बम्पर_बी" सेंसर नहीं दबाया जाता है तो रोबोट लगातार आगे बढ़ता रहेगा। बम्पर_बी सेंसर के मान की लगातार जाँच करने के लिए, if कथन whileलूप के भीतर है।
पहला प्रोजेक्ट एक ऐसी संरचना का व्यावहारिक उपयोग-मामला है जो हमेशा दोहराती रहती है –whileलूप औरifकथनों का एक साथ उपयोग करके। एक ऐसे स्व-चालित सफाईकर्मी की कल्पना कीजिए जो तब तक आगे बढ़ता रहता है जब तक कि वह किसी दीवार या वस्तु से टकरा न जाए, फिर मुड़कर आगे बढ़ना शुरू कर देता है।
अपने ज्ञान का विस्तार करें
यह समझने के लिए कि आप कंडीशनल स्टेटमेंट के साथ लूप का उपयोग कैसे कर सकते हैं, छात्रों को VEXcode V5 में फ्लोर स्वीपर प्रोजेक्ट बनाने के लिए कहें।
- छात्रों को बम्पर स्विचऔर उनके तार जोड़ने से शुरुआत करने के लिए कहें
-
छात्रों सेक्लॉबॉट टेम्पलेट (ड्राइवट्रेन 2-मोटर, नो जाइरो)उदाहरण प्रोजेक्ट खोलने के लिए कहें।

- छात्रों को VEXcode V5में 3-वायर बम्पर स्विच को कॉन्फ़िगर करने के लिए , बम्परके लिए उपयोग किए जा रहे 3-वायर डिवाइस का चयन करें, और बी के लिए पोर्ट का चयन करें।


-
छात्रों से कहें कि वे इस प्रोजेक्ट का नाम 'फर्श साफ करने वाला' रखें।
-
छात्रों से निम्नलिखित प्रोजेक्ट बनाने के लिए कहें।
# लाइब्रेरी आयात vex से आयात * random आयात # प्रोजेक्ट कोड प्रारंभ जबकि सत्य: जबकि (बम्पर_बी.प्रेसिंग() नहीं): ड्राइवट्रेन.ड्राइव(फॉरवर्ड) प्रतीक्षा(5, एमएसईसी) ड्राइवट्रेन.स्टॉप() # random.randomint() विधि निर्दिष्ट सीमा के बीच एक यादृच्छिक पूर्णांक संख्या लौटाती है सीमा के न्यूनतम और अधिकतम मानों को पैरामीटर में पास करें ड्राइवट्रेन.टर्न_फॉर(दाएं, (90+random.randint(0, 90)),डिग्री) प्रतीक्षा(5, एमएसईसी)
यदि छात्रों को किसी भी निर्देश में सहायता की आवश्यकता हो, तो उन्हें सहायता संबंधी जानकारी
Helpदेखने के लिए कहें।
से प्रोजेक्ट डाउनलोडचलाने के लिए कहें और रोबोट की गति का अवलोकन करने के लिए कहें फिर, कक्षा में चर्चा शुरू करें और छात्रों से यह समझाने के लिए कहें कि दोहराव संरचना के बजाय निरंतर चलने वाली संरचना का उपयोग
किया गया
छात्रों को यह ध्यान रखना चाहिए कि निरंतर चलने वाली संरचना का उपयोग इसलिए किया गया है क्योंकि यह परियोजना लगातार यह जाँच करती है कि बम्पर स्विच दबाया जा रहा है या नहीं।
चरण 3: स्क्वेयर्ड लूप्स चैलेंज!

- अपने क्लॉबॉट को एक वर्गाकार क्षेत्र में चलाएं।
- प्रत्येक बारी से पहले, पंजे को खोलना और बंद करना होगा, और भुजा को ऊपर और नीचे करना होगा।
- क्लॉबॉट वर्ग के किसी भी किनारे पर एक से अधिक बार नहीं चल सकता।
- आप ऊपर दिए गए RepeatingActions प्रोजेक्ट को शुरुआती बिंदु के रूप में उपयोग कर सकते हैं, लेकिन कोई भी बदलाव करने से पहले इसेSquaredLoopsके रूप में सेव कर लें।
अपनी इंजीनियरिंग नोटबुक में निम्नलिखित की योजना बनाएं:
- अपने समाधान की योजना बनाएं और अनुमान लगाएं कि आपकी परियोजना में प्रत्येक निर्देश के अनुसार क्लॉबॉट क्या करेगा।
- सबमिट करने से पहले अपने प्रोजेक्ट को डाउनलोड करें और चलाकरपरीक्षण करें।
- आवश्यकतानुसार प्रोजेक्ट में बदलाव करें और परीक्षण के दौरान किए गए परिवर्तनों के बारे में नोट्स बनाएं।
शिक्षक टूलबॉक्स
-
समाधान
स्क्वायर्ड लूप्स चैलेंज का संभावित समाधान निम्नलिखित है:
# लाइब्रेरी आयात
vex से आयात *
# प्रोजेक्ट कोड प्रारंभ
प्रत्येक repeat_count के लिए range(4):
drivetrain.drive_for(FORWARD, 300, MM)
claw_motor.spin_for(REVERSE, 70, DEGREES)
arm_motor.spin_for(FORWARD, 360, DEGREES)
claw_motor.spin_for(FORWARD, 70, DEGREES)
arm_motor.spin_for(REVERSE, 360, DEGREES)
drivetrain.turn_for(RIGHT, 90, DEGREES)
wait(5, MSEC)आप छात्रों को उनके प्रोजेक्टों के मूल्यांकन के लिएरूब्रिक प्रदान कर सकते हैं
की इंजीनियरिंग नोटबुकव्यक्तिगत रूपयाके रूप में रखा और मूल्यांकन किया जा सकता है