कंडीशनल स्टेटमेंट के साथ प्रोग्रामिंग - पायथन
शिक्षक टूलबॉक्स
-
इस गतिविधि का उद्देश्य
यह गतिविधि छात्रों को while and if कथनों का उपयोग करके रोबोट को तब तक आगे बढ़ाने के लिए परिचित कराएगी जब तक कि स्क्रीन को दबाया न जाए।
- यह गतिविधि छात्रों को सशर्त वाक्यों और उन निर्देशों से परिचित कराएगी जिनके तहत स्क्रीन को दबाए बिना रोबोट आगे बढ़ता रहता है।
- इस गतिविधि में प्रयुक्त if and if-else कथनों या अन्य के बारे में अधिक जानकारी के लिए, VEXcode V5 के भीतर सहायता जानकारी देखें। इस अंतर्निहित सहायता उपकरण के बारे में अधिक जानकारी के लिए, पायथन में सहायता के बारे में लेख देखें।
क्लॉबॉट फैसले लेने के लिए तैयार है!
यह अन्वेषण आपको कुछप्रोजेक्ट बनाने के लिए आवश्यक उपकरण प्रदान करेगा जिनमें if-का उपयोग किया गया हो
- इस अध्ययन में उपयोग किए जाने वाले VEXcode V5 Python कमांड:
- ड्राइवट्रेन.ड्राइव_फॉर(फॉरवर्ड)
- brain.screen.pressing()
- ड्राइवट्रेन.स्टॉप()
- यदि शर्त:
- अन्य:
- जबकि सत्य:
- प्रतीक्षा करें (5, सेकंड)
आप VEXcode V5 के अंदर मौजूद सहायता जानकारी का उपयोग करके Python कमांड के बारे में जान सकते हैं।

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

चरण 1: आइए सशर्त कथनों को समझने से शुरू करें।
कंडीशनल स्टेटमेंट के साथ प्रोग्रामिंग शुरू करने से पहले,-की व्याख्या करने वाले लेख को पढ़ें लेख यहाँ पाया जा सकता है (Google Doc / .docx / .pdf)।
ifelse में उपयोग किए जानेऑपरेटरों की सूची के लिए,की व्याख्या करने वाला लेख पढ़ें। यह लेख यहाँ पाया जा सकता है (Google Doc/.docx/.pdf)।
चरण 2: आइए सशर्त कथनों के साथ प्रोग्रामिंग शुरू करें।
-
क्लॉबॉट (ड्राइवट्रेन 2-मोटर, बिना जाइरो) टेम्पलेट उदाहरण प्रोजेक्ट खोलें।

- नीचे दिए गए प्रोजेक्ट को बनाएं।
# प्रोजेक्ट कोड प्रारंभ करें
while True:
drivetrain.drive(FORWARD)
if brain.screen.pressing():
drivetrain.stop()
while brain.screen.pressing():
wait(5, MSEC)
wait(5, MSEC)अपनी इंजीनियरिंग नोटबुक में निम्नलिखित कार्य करें:
- बताइए कि इस प्रोजेक्ट में क्लॉबॉट क्या काम करता है। आपको सिर्फ यह बताने से ज्यादा कुछ समझाना होगा कि यह एक स्टॉप बटन बनाता है। बताइए कि कौन से निर्देश क्लॉबॉट को क्या करने के लिए बाध्य करते हैं।
- एक वाक्य में परियोजना के कार्य का सारांश लिखें।
- यह जांचने के लिए परीक्षण करें कि क्या क्लॉबॉट से परियोजना के तहत अपेक्षित कार्यों के बारे में आपकी भविष्यवाणी सही है।
- प्रोजेक्ट का नामCreatingAStopButton रखें। क्लॉबॉट पर प्रोजेक्ट डाउनलोड करें और।
- अपने प्रोजेक्ट के स्पष्टीकरणों की जाँच करें और आवश्यकतानुसार उनमें सुधार करने के लिए नोट्स जोड़ें।
शिक्षक टूलबॉक्स
-
उत्तर
इस प्रोजेक्ट में रोबोट लगातार आगे बढ़ता रहता है लेकिन स्क्रीन को दबाने पर रुक जाता है। यह "हमेशा" कथन (जबकि सत्य)का उपयोग करके निरंतर ड्राइव और जांच करता है। यदि स्क्रीन को दबाया जा रहा है (सही), तो क्लॉबॉट चलना बंद कर देता है।
छात्रों से यह अपेक्षा नहीं की जाती है कि वे समझें कि 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.
- यदि आपको किसी प्रोजेक्ट को सेव करने में मदद चाहिए, इन लेखों को देखें
- फिर नीचे दिखाए गएStopOrDriveप्रोजेक्ट को बिल्ड करें।
# प्रोजेक्ट कोड प्रारंभ करें
while True:
if brain.screen.pressing():
drivetrain.stop()
while brain.screen.pressing():
wait(5, MSEC)
else:
drivetrain.drive(FORWARD)
wait(5, MSEC)- अपने क्लॉबॉट परस्टॉपऑरड्राइवको स्लॉट 2 पर डाउनलोड करें।
- किसी प्रोजेक्ट को डाउनलोड करने और चलाने में सहायता के लिए, लेख देखें
- टेस्टस्टॉप बटन(स्लॉट 1) बनाएं और फिर टेस्टस्टॉप या ड्राइव(स्लॉट 2) करें और उनकी तुलना करके देखें कि रोबोट के व्यवहार में कोई अंतर है या नहीं। अपनी इंजीनियरिंग नोटबुक में किसी भी अंतर को नोट कर लें।
दोनों परियोजनाओं में क्लॉबॉट का व्यवहार एक जैसा है। अंतर केवल प्रोजेक्ट में इफ-एल्स स्टेटमेंट के उपयोग में है।
-एल्स स्टेटमेंट का उपयोग करने से आप आगामी गतिविधियों में स्क्रीन पर अतिरिक्त बटन जोड़ सकेंगे।
अपने ज्ञान का विस्तार करें
जैसे-जैसे यह STEM लैब आगे बढ़ेगी, छात्र ऐसे प्रोजेक्ट विकसित करेंगे जो क्लॉबॉट की स्क्रीन को यूजर इंटरफेस के रूप में कार्य करने की अनुमति देंगे। इसकी तैयारी के लिए, छात्रों को चुनौती दें कि वे स्क्रीन पर एक रंगीन आयत बनाना सीखें जो एक बटन की तरह काम करे। क्योंकि वर्तमान में स्क्रीन पर कहीं भी दबाना ही आवश्यक है, इसलिए बटन को पूरी स्क्रीन को कवर करना चाहिए। छात्रों को प्रोजेक्ट शुरू होने पर बटन को प्रदर्शित करने के लिए एक इवेंट प्रसारित करना चाहिए।
छात्रों को सबसे पहले यह सीखने के लिए निर्देशित करें कि मस्तिष्क की स्क्रीन एक समन्वय प्रणाली में कैसे व्यवस्थित होती है। उन्हें इस बात को समझना होगा ताकि वे अपने द्वारा उपयोग किए जाने वाले कमांड के भीतर पैरामीटर सेट कर सकें। उपयोग किए गए निर्देशांक पिक्सेल की संख्या को दर्शाते हैं, न कि कॉलम या पंक्ति की संख्या को। स्क्रीन का लेआउट इस प्रकार है:
छात्रों को अपनी इंजीनियरिंग नोटबुक में इन परिवर्तनों का दस्तावेजीकरण करते हुए परियोजना में इन परिवर्तनों की योजना बनानी चाहिए, उनका परीक्षण करना चाहिए और उन्हें परिष्कृत करना चाहिए। व्यक्तिगत इंजीनियरिंग नोटबुक रूब्रिक के लिए, निम्नलिखित लिंक में से किसी एक पर क्लिक करें (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-अक्ष) पिक्सेल को भरता है।
