मुख्य सामग्री पर जाएं

कंडीशनल स्टेटमेंट के साथ प्रोग्रामिंग - पायथन

शिक्षक टूलबॉक्स आइकन शिक्षक टूलबॉक्स - इस गतिविधि का उद्देश्य

यह गतिविधि छात्रों को while and if कथनों का उपयोग करके रोबोट को तब तक आगे बढ़ाने के लिए परिचित कराएगी जब तक कि स्क्रीन को दबाया न जाए।

  • यह गतिविधि छात्रों को सशर्त वाक्यों और उन निर्देशों से परिचित कराएगी जिनके तहत स्क्रीन को दबाए बिना रोबोट आगे बढ़ता रहता है।
  • इस गतिविधि में प्रयुक्त if and if-else कथनों या अन्य के बारे में अधिक जानकारी के लिए, VEXcode V5 के भीतर सहायता जानकारी देखें। इस अंतर्निहित सहायता उपकरण के बारे में अधिक जानकारी के लिए, पायथन में सहायता के बारे में लेख देखें।

शिक्षक टूलबॉक्स आइकन शिक्षक टूलबॉक्स

इस अनुभाग के लिए शिक्षण रणनीतियों के सुझावों के लिए, टू डू ऑर नॉट टू डू पेसिंग गाइड के डिलीवरी कॉलम की समीक्षा करें! (गूगल डॉक / .docx / .pdf)

क्लॉबॉट फैसले लेने के लिए तैयार है!

यह अन्वेषण आपको कुछप्रोजेक्ट बनाने के लिए आवश्यक उपकरण प्रदान करेगा जिनमें if-का उपयोग किया गया हो

  • इस अध्ययन में उपयोग किए जाने वाले VEXcode V5 Python कमांड: 
    • ड्राइवट्रेन.ड्राइव_फॉर(फॉरवर्ड)
    • brain.screen.pressing()
    • ड्राइवट्रेन.स्टॉप()
    • यदि शर्त:
    • अन्य:
    • जबकि सत्य:  
    • प्रतीक्षा करें (5, सेकंड)

आप VEXcode V5 के अंदर मौजूद सहायता जानकारी का उपयोग करके Python कमांड के बारे में जान सकते हैं।

VEXcode V5 में बाईं ओर कार्यक्षेत्र में टाइप किए गए कमांड के लिए एक ड्राइव है, और दाईं ओर सहायता जानकारी खुली हुई है। हेल्प बॉक्स में कमांड की परिभाषा और उसके उपयोग के तरीके के बारे में जानकारी दी गई है।

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

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

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

1

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

1

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

1

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

शिक्षक सुझाव आइकन शिक्षक सुझाव

यदि छात्र पहली बार VEXcode V5 का उपयोग कर रहे हैं, तो वे इस अन्वेषण के दौरान किसी भी समय ट्यूटोरियल का संदर्भ ले सकते हैं। ट्यूटोरियल टूलबार में स्थित हैं।

VEXcode V5 टूलबार में ट्यूटोरियल को लाल बॉक्स में हाइलाइट किया गया है। टूलबार में बाएं से दाएं V5 लोगो, ग्लोब आइकन, फाइल और ट्यूटोरियल दिखाई देते हैं। ट्यूटोरियल के दाईं ओर अतिरिक्त आइकन और कार्यक्षमता मौजूद हैं।

चरण 1: आइए सशर्त कथनों को समझने से शुरू करें। 

कंडीशनल स्टेटमेंट के साथ प्रोग्रामिंग शुरू करने से पहले,-की व्याख्या करने वाले लेख को पढ़ें लेख यहाँ पाया जा सकता है (Google Doc / .docx / .pdf)।
Screenshot of the linked article titled Using If else statements in VEXcode V5 Python.
if
else में उपयोग किए जानेऑपरेटरों की सूची के लिए,की व्याख्या करने वाला लेख पढ़ें। यह लेख यहाँ पाया जा सकता है (Google Doc/.docx/.pdf)।

VEXcode V5 Python में बूलियन का उपयोग करने नामक लिंक किए गए लेख का स्क्रीनशॉट।

चरण 2: आइए सशर्त कथनों के साथ प्रोग्रामिंग शुरू करें।

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

    VEXcode V5 में उदाहरण प्रोजेक्ट्स जिनमें टेम्प्लेट्स फ़िल्टर और क्लॉबॉट ड्राइवट्रेन 2 मोटर नो जाइरो आइकन को लाल बॉक्स से हाइलाइट किया गया है, यह दर्शाता है कि कौन सा प्रोजेक्ट खोलना है।

     

  • नीचे दिए गए प्रोजेक्ट को बनाएं।
# प्रोजेक्ट कोड प्रारंभ करें
while True:
    drivetrain.drive(FORWARD)
    if brain.screen.pressing():
        drivetrain.stop()
        while brain.screen.pressing():
            wait(5, MSEC)
    wait(5, MSEC)

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

  • बताइए कि इस प्रोजेक्ट में क्लॉबॉट क्या काम करता है। आपको सिर्फ यह बताने से ज्यादा कुछ समझाना होगा कि यह एक स्टॉप बटन बनाता है। बताइए कि कौन से निर्देश क्लॉबॉट को क्या करने के लिए बाध्य करते हैं।
  • एक वाक्य में परियोजना के कार्य का सारांश लिखें।
  • यह जांचने के लिए परीक्षण करें कि क्या क्लॉबॉट से परियोजना के तहत अपेक्षित कार्यों के बारे में आपकी भविष्यवाणी सही है।
  • प्रोजेक्ट का नामCreatingAStopButton रखें। क्लॉबॉट पर प्रोजेक्ट डाउनलोड करें और।
    VEXcode V5 टूलबार में प्रोजेक्ट नाम डायलॉग बॉक्स में "क्रिएटिंग अ स्टॉप बटन" लिखा हुआ है और यह दर्शाता है कि स्लॉट 1 चयनित है।
  • अपने प्रोजेक्ट के स्पष्टीकरणों की जाँच करें और आवश्यकतानुसार उनमें सुधार करने के लिए नोट्स जोड़ें।

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

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

छात्रों से यह अपेक्षा नहीं की जाती है कि वे समझें कि while brain.screen.pressing():और wait(5, MSEC) कमांड का उपयोग क्यों किया जाता है। समझाएं कि रोबोट के प्रोग्राम प्रवाह की गति के कारण ये आदेश आवश्यक हैं। अगर यह मौजूद नहीं होता, तो क्लॉबॉट के मोटर्स ऐसे व्यवहार करते जैसे कि उपयोगकर्ता प्रोजेक्ट के लूप के दौरान बार-बार स्क्रीन को दबा रहा हो। इसके बजाय, ये निर्देश प्रोग्राम के प्रवाह को रोकते हैं और जब तक उपयोगकर्ता स्क्रीन को दबाना बंद नहीं कर देता, तब तक प्रोजेक्ट को लूप को फिर से शुरू करने के लिए नहीं कहते हैं।

स्यूडोकोड की पंक्ति इतनी सरल हो सकती है: स्क्रीन दबाए जाने तक आगे बढ़ते रहें।

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

चरण 3:whileऔरwait()कथनों को समझना।

ध्यान दें कि यदि ब्रेन की स्क्रीन दबाई जाती है, तो प्रोजेक्ट का प्रवाह तेजी से आगे बढ़ता है और प्रोजेक्ट अगले निर्देश पर चला जाएगा, जो कि ड्राइवट्रेन.स्टॉप()कमांड है।

इस प्रकार, परियोजना को जबकि और प्रतीक्षा कमांड की आवश्यकता है जो रोबोट को तब तक रुके रहने के लिए कहते हैं जब तक कि ब्रेन की स्क्रीन जारी नहीं हो जाती। अन्यथा, फॉरएवरस्टेटमेंट के कारण प्रोजेक्ट को फिर से शुरू करना पड़ेगा।

while brain.screen.pressing():
	wait(5, MSEC)

प्रोजेक्ट के प्रवाह की गति के कारणwhile और waitकमांड आवश्यक हैं। यदि वे वहां नहीं होते, तो रोबोट को प्रतिक्रिया देने का समय मिलने से पहले ही परियोजना अगले निर्देश पर चली जाती।

चरण 4: प्रोजेक्ट बदलें।

हमारा अगला कदमifकथन कोif-else कथन में बदलना है।

  • सबसे पहलेCreatingAStopButtonको नए प्रोजेक्ट के रूप में सहेजें,StopOrDrive.VEXcode V5 टूलबार में प्रोजेक्ट नाम डायलॉग बॉक्स में स्टॉप या ड्राइव लिखा हुआ है और यह दर्शाता है कि स्लॉट 1 चयनित है।
  • यदि आपको किसी प्रोजेक्ट को सेव करने में मदद चाहिए, इन लेखों को देखें
  • फिर नीचे दिखाए गएStopOrDriveप्रोजेक्ट को बिल्ड करें।
# प्रोजेक्ट कोड प्रारंभ करें
while True:
    if brain.screen.pressing():
        drivetrain.stop()
        while brain.screen.pressing():
            wait(5, MSEC)
    else:
        drivetrain.drive(FORWARD)
    wait(5, MSEC)
  • अपने क्लॉबॉट परस्टॉपऑरड्राइवको स्लॉट 2 पर डाउनलोड करें।

VEXcode V5 टूलबार में स्लॉट चयन विंडो खुली है, और स्लॉट 2 का चयन किया गया है और उसे एक लाल बॉक्स से हाइलाइट किया गया है।

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

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

रोबोट के व्यवहार के संबंध में,CreatingAStopButtonऔरStopOrDriveपरियोजनाओं के बीच कोई अंतरहोना चाहिए, न कि।

यदि छात्रों को-कथनों ।

दोनों परियोजनाओं में क्लॉबॉट का व्यवहार एक जैसा है। अंतर केवल प्रोजेक्ट में इफ-एल्स स्टेटमेंट के उपयोग में है।
-एल्स स्टेटमेंट का उपयोग करने से आप आगामी गतिविधियों में स्क्रीन पर अतिरिक्त बटन जोड़ सकेंगे।

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

जैसे-जैसे यह STEM लैब आगे बढ़ेगी, छात्र ऐसे प्रोजेक्ट विकसित करेंगे जो क्लॉबॉट की स्क्रीन को यूजर इंटरफेस के रूप में कार्य करने की अनुमति देंगे। इसकी तैयारी के लिए, छात्रों को चुनौती दें कि वे स्क्रीन पर एक रंगीन आयत बनाना सीखें जो एक बटन की तरह काम करे। क्योंकि वर्तमान में स्क्रीन पर कहीं भी दबाना ही आवश्यक है, इसलिए बटन को पूरी स्क्रीन को कवर करना चाहिए। छात्रों को प्रोजेक्ट शुरू होने पर बटन को प्रदर्शित करने के लिए एक इवेंट प्रसारित करना चाहिए।

छात्रों को सबसे पहले यह सीखने के लिए निर्देशित करें कि मस्तिष्क की स्क्रीन एक समन्वय प्रणाली में कैसे व्यवस्थित होती है। उन्हें इस बात को समझना होगा ताकि वे अपने द्वारा उपयोग किए जाने वाले कमांड के भीतर पैरामीटर सेट कर सकें। उपयोग किए गए निर्देशांक पिक्सेल की संख्या को दर्शाते हैं, न कि कॉलम या पंक्ति की संख्या को। स्क्रीन का लेआउट इस प्रकार है:V5 ब्रेन स्क्रीन का पिक्सेल ग्रिड बाईं ओर 12 क्रमांकित पंक्तियाँ दिखाता है, जिसमें सबसे ऊपर वाली पंक्ति को पंक्ति 1 और सबसे नीचे वाली पंक्ति को पंक्ति 12 के रूप में चिह्नित किया गया है। सबसे ऊपर 48 क्रमांकित स्तंभ हैं, जिनमें से स्तंभ 1 सबसे बाईं ओर और स्तंभ 48 सबसे दाईं ओर अंकित है। कुल पिक्सेल माप 480px चौड़ाई और 240 px ऊंचाई है।

छात्रों को अपनी इंजीनियरिंग नोटबुक में इन परिवर्तनों का दस्तावेजीकरण करते हुए परियोजना में इन परिवर्तनों की योजना बनानी चाहिए, उनका परीक्षण करना चाहिए और उन्हें परिष्कृत करना चाहिए। व्यक्तिगत इंजीनियरिंग नोटबुक रूब्रिक के लिए, निम्नलिखित लिंक में से किसी एक पर क्लिक करें (Google Doc / .docx / .pdf), या टीम नोटबुक के लिए निम्नलिखित लिंक में से किसी एक पर क्लिक करें (Google Doc / .docx / .pdf)।

यहां एक उदाहरण समाधान दिया गया है: 

# प्रोजेक्ट कोड प्रारंभ
draw = Event()

def draw_button():
    brain.screen.set_fill_color(Color.RED)
    brain.screen.draw_rectangle(0, 0, 480, 240)
    wait(1, SECONDS)

draw(draw_button)
while True:
    draw.broadcast()
    drivetrain.drive(FORWARD)

    if brain.screen.pressing():
        drivetrain.stop()
        while brain.screen.pressing():
            wait(5, MSEC)
    else:
        drivetrain.drive(FORWARD)
        
    wait(5, MSEC)

जैसा कि आप देख सकते हैं, बटन को (0, 0) मूल बिंदु से शुरू होकर पूरी स्क्रीन को कवर करने के लिए बनाया गया है और यह सभी 480 क्षैतिज (x-अक्ष) पिक्सेल और 240 ऊर्ध्वाधर (y-अक्ष) पिक्सेल को भरता है।