मुख्य सामग्री पर जाएं
शिक्षक पोर्टल

प्रोग्रामिंग लूप - पायथन

शिक्षक टूलबॉक्स आइकन शिक्षक टूलबॉक्स - गतिविधि रूपरेखा

  • इस अध्ययन के माध्यम से छात्रों को रिपीट या फॉरएवर लूप का उपयोग करके दोहराव वाले व्यवहारों को प्रोग्राम करना सिखाया जाएगा।

  • रिपीट और फॉरएवर लूप का उपयोग करके प्रोग्रामिंग सीखने से छात्रों को ऐसे प्रोजेक्ट बनाने में समय बचाने में मदद मिलती है जिनमें समान क्रियाओं को बार-बार दोहराया जाता है। टेक्स्ट प्रोजेक्ट में उपयोग किए गए निर्देशों के बारे में अधिक जानकारी के लिए, सहायतापर जाएँ

क्लॉबॉट 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 का उपयोग कर रहे हैं, तो वेलाइब्रेरी में विभिन्न लेख पढ़ सकते हैं

VEX लाइब्रेरी के VEXcode V5 सेक्शन की छवि

शिक्षक सुझाव आइकन शिक्षकों के लिए सुझाव - ऑटो-कंप्लीट का उपयोग करना

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

पायथन प्रोजेक्ट में ऑटो-कंप्लीट फ़ीचर की छवि

सुनिश्चित करें कि आपके पास आवश्यक हार्डवेयर, आपका इंजीनियरिंग नोटबुक और VEXcode V5 डाउनलोड और तैयार हैं।

सामग्री की आवश्यकता:
मात्रा आवश्यक सामग्री
1

VEX V5 क्लासरूम स्टार्टर किट (नवीनतम फर्मवेयर के साथ)

1

VEXcode V5 (नवीनतम संस्करण, विंडोज, macOS)

1

इंजीनियरिंग नोटबुक

1

क्लॉबॉट टेम्पलेट (ड्राइवट्रेन 2-मोटर, बिना जाइरो) उदाहरण प्रोजेक्ट

चरण 1: आइए लूप के साथ प्रोग्रामिंग शुरू करें

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

    यह छवि VEXcode V5 में खुले हुए फ़ाइल मेनू को दर्शाती है, जिसमें उदाहरण खोलें विकल्प दिखाई दे रहा है।

     

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

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

     

  • इस प्रोजेक्ट का नाम RepeatingActions रखें।

    VEXcode V5 में रिपीटिंग एक्शन प्रोजेक्ट का नाम दर्शाने वाली छवि

  • निम्न कोड टाइप करें:

    # लाइब्रेरी आयात
    vex से आयात *
    
    # प्रोजेक्ट कोड प्रारंभ
    # 4 पुनरावृत्तियों के लिए 300 मिमी आगे बढ़ता है और 90 डिग्री मुड़ता है
    
    प्रत्येक repeat_count के लिए range(4):
        drivetrain.drive_for(FORWARD, 300, MM)
        drivetrain.turn_for(RIGHT, 90, DEGREES)
        wait(5, SECONDS)

प्रोजेक्ट को ध्यान से देखें और फिर अपनी इंजीनियरिंग नोटबुक में निम्नलिखित कार्य करें।

  1. अनुमान लगाइए कि इस परियोजना में क्लॉबॉट क्या कार्य करेगा। इस तथ्य से कहीं अधिक विस्तार से समझाएं कि परियोजना दोहराई जाती है।

    यह क्या दोहरा रहा है? क्लॉबॉट क्या कर रहा है?

  2. अपनी भविष्यवाणी लिखें, लेकिन लघु परियोजना को दो से अधिक भागों में न बाँटें।

शिक्षक टूलबॉक्स आइकन शिक्षक टूलबॉक्स - उत्तर

  1. इस प्रोजेक्ट में रोबोट को 300 मिलीमीटर आगे बढ़ना होगा, 90 डिग्री दाएं मुड़ना होगा और फिर एक वर्ग को पूरा करने के लिए 5 सेकंड तक 4 बार इंतजार करना होगा। एक ही तरह के तीन निर्देशों को चार बार इस्तेमाल करने के बजाय, दोहराने का निर्देश उस मात्रा को घटाकर केवल एक बार कर देता है। यह निर्देश आगे बढ़ने और फिर मुड़ने की क्रियाओं को दोहराता है।

  2. भविष्यवाणी शायद बस इतनी ही हो सकती है कि "क्लॉबॉट एक वर्ग में चलता है।" यह क्लॉबॉट की बार-बार होने वाली गतिविधियों को संक्षेप में बताने का एक तरीका होगा, हालांकि इसमें किसी संदर्भ का अभाव होगा।

छात्रों की इंजीनियरिंग नोटबुक को व्यक्तिगत रूप सेअंक दिए जा सकते हैं औरअंक दिए जा सकते हैं या दिए जा सकते हैं। पिछले लिंक प्रत्येक दृष्टिकोण के लिए एक अलग मानदंड प्रदान करते हैं। जब भी शैक्षिक योजना में कोई मूल्यांकन मानदंड शामिल किया जाता है, तो गतिविधि शुरू होने से पहले मूल्यांकन मानदंड को समझाना या कम से कम छात्रों को उसकी प्रतियां देना एक अच्छी प्रथा है।

चरण 2: प्रोजेक्ट चलाएं और रोबोट का निरीक्षण करें।

VEX रोबोट के लिए दो पायथन कोड स्निपेट्स की तुलना। ऊपर दिया गया कोड स्निपेट सेंसर इनपुट का उपयोग करके यह निर्धारित करता है कि कब मुड़ना है, और एक while लूप यह जांचता है कि बम्पर स्विच दबाया गया है या नहीं; यदि दबाया गया है, तो रोबोट 90 डिग्री दाएं मुड़ता है, अन्यथा, यह आगे बढ़ता है। नीचे दिए गए कोड स्निपेट में, मुड़ने का समय निर्धारित करने के लिए एक निश्चित दूरी का उपयोग किया गया है। इसमें एक फॉर लूप का उपयोग किया गया है जो रोबोट को 300 मिमी आगे बढ़ाता है, 90 डिग्री दाएं मुड़ता है और 5 सेकंड तक प्रतीक्षा करता है, इस क्रम को चार बार दोहराता है।

रिपीटिंग एक्शन्स प्रोजेक्ट (दूसरा प्रोजेक्ट) को फिर से देखें। यह प्रोजेक्ट आगे बढ़ने और फिर मुड़ने की प्रक्रिया को चार बार दोहराएगा। जब आप व्यवहारों के एक समूह को निश्चित संख्या में बार-बार उपयोग करना चाहते हैं, तो "रिपीट" लूप संरचना (फॉरलूप का उपयोग करके) का उपयोग किया जाता है।

यदि रिपीट संरचना को व्हाइल लूप संरचना से बदल दिया जाए, तो रोबोट आगे बढ़ने और फिर मुड़ने के व्यवहारों को तब तक दोहराएगा जब तक कि शर्त सही है। आप शर्त को "" पर सेट करकेहमेशा
लिए जारी रख सकते हैं

प्रोजेक्ट में, सेंसर के इनपुट का उपयोग यह निर्धारित करने के लिए किया जाता है कि कब मुड़ना शुरू करना है।

का प्रोजेक्ट टर्निंग शुरू करने का समय निर्धारित करने के लिए एक निश्चित ड्राइवट्रेन दूरी का उपयोग करता है सेंसर के इनपुट की लगातार जांच करने के लिए, if उपयोग लूप के साथजाता है बाईं ओर के प्रोजेक्ट में, जब "बम्पर_बी" सेंसर दबाया जाएगा तो रोबोट दाईं ओर मुड़ेगा, अन्यथा यदि "बम्पर_बी" सेंसर नहीं दबाया जाता है तो रोबोट लगातार आगे बढ़ता रहेगा। बम्पर_बी सेंसर के मान की लगातार जाँच करने के लिए, if कथन whileलूप के भीतर है।

पहला प्रोजेक्ट एक ऐसी संरचना का व्यावहारिक उपयोग-मामला है जो हमेशा दोहराती रहती है –whileलूप औरifकथनों का एक साथ उपयोग करके। एक ऐसे स्व-चालित सफाईकर्मी की कल्पना कीजिए जो तब तक आगे बढ़ता रहता है जब तक कि वह किसी दीवार या वस्तु से टकरा न जाए, फिर मुड़कर आगे बढ़ना शुरू कर देता है।

अपने सीखने का विस्तार करें आइकन अपने ज्ञान का विस्तार करें

यह समझने के लिए कि आप कंडीशनल स्टेटमेंट के साथ लूप का उपयोग कैसे कर सकते हैं, छात्रों को VEXcode V5 में फ्लोर स्वीपर प्रोजेक्ट बनाने के लिए कहें।

यदि छात्रों को किसी भी निर्देश में सहायता की आवश्यकता हो, तो उन्हें सहायता संबंधी जानकारी
Helpदेखने के लिए कहें।
से प्रोजेक्ट डाउनलोडचलाने के लिए कहें और रोबोट की गति का अवलोकन करने के लिए कहें फिर, कक्षा में चर्चा शुरू करें और छात्रों से यह समझाने के लिए कहें कि दोहराव संरचना के बजाय निरंतर चलने वाली संरचना का उपयोग
किया गया
छात्रों को यह ध्यान रखना चाहिए कि निरंतर चलने वाली संरचना का उपयोग इसलिए किया गया है क्योंकि यह परियोजना लगातार यह जाँच करती है कि बम्पर स्विच दबाया जा रहा है या नहीं।

चरण 3: स्क्वेयर्ड लूप्स चैलेंज!

एक आरेख जिसमें एक हरे रंग का वर्गाकार पथ दिखाया गया है और तीर वर्ग के चारों ओर गति की दिशा को इंगित करते हैं। वर्ग के बाहर अतिरिक्त नारंगी तीर अलग-अलग दिशाओं में इंगित करते हैं, जो मार्ग का अनुसरण करने के लिए आवश्यक मोड़ों और गतिविधियों के अनुरूप हैं।

  • अपने क्लॉबॉट को एक वर्गाकार क्षेत्र में चलाएं।
  • प्रत्येक बारी से पहले, पंजे को खोलना और बंद करना होगा, और भुजा को ऊपर और नीचे करना होगा।
  • क्लॉबॉट वर्ग के किसी भी किनारे पर एक से अधिक बार नहीं चल सकता।
  • आप ऊपर दिए गए RepeatingActions प्रोजेक्ट को शुरुआती बिंदु के रूप में उपयोग कर सकते हैं, लेकिन कोई भी बदलाव करने से पहले इसेSquaredLoopsके रूप में सेव कर लें।

VEXcode V5 के टूलबार में Squared Loops प्रोजेक्ट का नाम दर्शाने वाली छवि

अपनी इंजीनियरिंग नोटबुक में निम्नलिखित की योजना बनाएं:

शिक्षक टूलबॉक्स आइकन शिक्षक टूलबॉक्स - समाधान

स्क्वायर्ड लूप्स चैलेंज का संभावित समाधान निम्नलिखित है:

# लाइब्रेरी आयात
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)

आप छात्रों को उनके प्रोजेक्टों के मूल्यांकन के लिएरूब्रिक प्रदान कर सकते हैं
की इंजीनियरिंग नोटबुकव्यक्तिगत रूपयाके रूप में रखा और मूल्यांकन किया जा सकता है