Skip to main content

सशर्तों के साथ प्रोग्रामिंग - पायथन

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

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

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

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

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

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

यह अन्वेषण आपको कुछ अच्छे प्रोजेक्ट बनाने में सक्षम बनाने के लिए उपकरण प्रदान करेगा जोif-elseकथन का उपयोग करते हैं।

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

आप पायथन कमांड के बारे में जानने के लिए VEXcode V5 के अंदर सहायता जानकारी उपयोग कर सकते हैं।

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

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

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

VEX V5 क्लासरूम स्टार्टर किट (अप-टू-डेट फर्मवेयर के साथ)

1

VEXcode V5 (नवीनतम संस्करण, Windows, macOS)

1

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

1

क्लॉबोट (ड्राइवट्रेन 2-मोटर, कोई गायरो नहीं) टेम्पलेट

शिक्षक युक्तियाँ आइकन शिक्षक युक्तियाँ

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

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

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

इससे पहले कि आप सशर्तों के साथ प्रोग्रामिंग शुरू करें,if-elseकथनों को समझाने वाला लेख पढ़ें। यह आलेख यहां पाया जा सकता है (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 पायथन में बूलियन का उपयोग करना।

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

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

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

     

  • नीचे दिए गए प्रोजेक्ट का निर्माण करें.
# प्रोजेक्ट कोड शुरू करें
जबकि सत्य:
    drivetrain.drive(FORWARD)
    यदि brain.screen.pressing():
        drivetrain.stop()
        जबकि 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()कथनों को समझना।

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

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

जबकि brain.screen.pressing():
	wait(5, MSEC)

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

चरण 4: परियोजना बदलें.

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

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

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

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

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

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

यदि छात्रों कोif-elseकथनों को समझने में और सहायता की आवश्यकता है, तो यह लेख देखें (Google Doc / .docx / .pdf)।

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

अपनी शिक्षा का विस्तार करें आइकन अपनी शिक्षा का विस्तार करें

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

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

छात्रों को परियोजना में इन परिवर्तनों की योजना बनानी चाहिए, उनका परीक्षण करना चाहिए तथा उन्हें परिष्कृत करना चाहिए तथा साथ ही उन्हें अपनी इंजीनियरिंग नोटबुक में भी दर्ज करना चाहिए। व्यक्तिगत इंजीनियरिंग नोटबुक रूब्रिक के लिए, निम्नलिखित में से किसी एक लिंक पर क्लिक करें (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-अक्ष) पिक्सेल को भर दिया गया है।