निर्णय लेना - पायथन
शिक्षक टूलबॉक्स
-
इस पाठ का उद्देश्य
यह STEM लैब रोबोट को उसके द्वारा पहचानी गई परिस्थितियों के अनुसार प्रतिक्रिया देने के लिए प्रोग्रामिंग करने पर केंद्रित है। इस प्रथम वाचन का उद्देश्य सशर्त, बूलियन (सत्य या असत्य) स्थितियों के विचार से परिचित कराना तथा किसी परियोजना में इन प्रोग्रामिंग संरचनाओं को शामिल करने के लाभ से परिचित कराना है। छात्रों को यह समझना शुरू कर देना चाहिए कि सशर्त प्रोग्रामिंग को शामिल करने से रोबोट अपने वातावरण के प्रति अपनी प्रतिक्रिया में सुधार करता है।
रोबोट को देखते समय ऐसा लग सकता है कि वह अपने व्यवहार के बारे में निर्णय ले रहा है, लेकिन प्रोग्रामिंग के अंतर्गत वह परिस्थितियों की जांच कर रहा होता है और उचित कार्रवाई कर रहा होता है। छात्र इस बात पर विचार कर सकते हैं कि परिस्थितियां उनके स्वयं के सूचित निर्णयों को किस प्रकार प्रभावित करती हैं।
निर्णय लेना है:क्या मुझे छाता लेना चाहिए?
वर्तमान स्थिति:बारिश होने की संभावना है (सत्य)।
निर्णय: छाता ले लो।
निर्णय लेना
अपने सबसे बुनियादी स्तर पर, प्रोग्राम व्यवहार के सरल अनुक्रम को पूरा करने के लिए लिखे जाते हैं। उदाहरण के लिए, आप चाहेंगे कि आपका रोबोट आगे बढ़े और गंतव्य तक पहुंचने के लिए कुछ मोड़ भी ले। लेकिन, क्या होगा यदि आप चाहते हैं कि आपका रोबोट आगे बढ़ने और अपना मार्ग पूरा करने के लिए सही समय की प्रतीक्षा करे? इसके लिए सशर्त कथनों के साथ प्रोग्रामिंग की आवश्यकता होगी। आप अपनी परियोजना के लिए "शुरू करने का सही समय" क्या है, यह परिभाषित करने के लिए एक सशर्त कथन का उपयोग करेंगे। हो सकता है कि "सही समय" तब हो जब कोई बटन दबाया जाए या जब कोई सेंसर किसी विशिष्ट स्तर का पता लगा ले और फिर गाड़ी चलना शुरू कर दे। जब आप रोबोट के व्यवहार को देखते हैं, तो ऐसा लगेगा कि वह यह तय कर रहा है कि कब ड्राइविंग शुरू करनी है, लेकिन ऐसा इसलिए है क्योंकि आपने ड्राइविंग शुरू करने के लिए स्थिति निर्धारित की है।
सशर्त कथन शक्तिशाली प्रोग्रामिंग कथन हैं जो बूलियन (सत्य या असत्य) स्थिति का उपयोग करते हैं। उपरोक्त उदाहरण परिदृश्य का उपयोग करते हुए, आप अपने रोबोट को इस प्रकार प्रोग्राम कर सकते हैं कि वह बार-बार जांच करे कि क्या उसकी ब्रेन स्क्रीन दबाई गई है, तथा जब दबाई गई हो तो वह आगे बढ़े। उस प्रोजेक्ट में सशर्त कथन कुछ इस तरह हो सकता है, "यदि स्क्रीन यह पता लगाती है कि इसे दबाया गया है (TRUE), तो ड्राइविंग अनुक्रम चलाएं।" यह कथन किसी भी व्यवहार का उल्लेख नहीं करता है यदि स्थिति FALSE है (स्क्रीनहै न किदबाया गया है) इसलिए FALSE होने पर रोबोट कोई कार्रवाई नहीं करता है। सशर्त कथन आपको ऐसी परियोजनाएं विकसित करने की अनुमति देते हैं जिनमें रोबोट अपनी अनुभूति के आधार पर अलग-अलग व्यवहार करता है। बूलियन लॉजिक पर अधिक जानकारी के लिए, निम्नलिखित लिंक में से एक पर क्लिक करें (Google Doc / .docx / .pdf)।
निम्नलिखित उदाहरण में, यदि ब्रेन की स्क्रीन को दबाया जाता है (TRUE) तो रोबोट आगे बढ़ेगा। यदि ब्रेन की स्क्रीन को दबाया नहीं गया (गलत) तो रोबोट चलना बंद कर देगा। इससे पता चलता है कि रोबोट तभी आगे बढ़ता है जब ब्रेन की स्क्रीन दबाई जाती है, अन्यथा रोबोट रुक जाता है।
# प्रोजेक्ट कोड शुरू करें
जबकि सत्य:
यदि brain.screen.pressing():
drivetrain.drive(FORWARD)
अन्यथा:
drivetrain.stop()
wait(5, MSEC)
शिक्षक सुझाव
-
स्वतः पूर्ण का उपयोग करना
स्वतः पूर्ण (Autocomplete) VEXcode V5 में एक सुविधा है जो आपके द्वारा टाइप किए जा रहे कमांड के शेष भाग का पूर्वानुमान लगाती है। चूंकि छात्र VEXcode V5 में काम कर रहे हैं, इसलिए उन्हें पायथन सिंटैक्स में मदद के लिए स्वतः पूर्ण सुविधा का उपयोग करने के लिए प्रोत्साहित करें। जैसे ही आप निर्देश लिखना शुरू करेंगे, आपको एक स्वतः पूर्ण फ़ंक्शन दिखाई देगा। अपने इच्छित नाम का चयन करने के लिए “ऊपर” और “नीचे” कुंजियों का उपयोग करें, फिर चयन करने के लिए अपने कीबोर्ड पर “टैब” या (एंटर/रिटर्न) दबाएं। स्वतः पूर्ण का उपयोग करने के बारे में अधिक जानकारी के लिए पायथन लेखदेखें।
अपनी शिक्षा का विस्तार करें
इस गतिविधि को विस्तारित करने के लिए, अपने विद्यार्थियों को टीमों में विभाजित होने के लिए कहें तथा एक भूलभुलैया का रेखाचित्र बनाएं जिसे दूसरी टीम पूरा करे। भूलभुलैया में न्यूनतम तीन से पांच सशर्त कथनों की आवश्यकता होगी। उदाहरण के लिए, 'जब तक दीवार न आ जाए तब तक आगे बढ़ते रहो'। फिर बारी छोड़ दी। छात्रों को फ्लोचार्ट के रूप में भूलभुलैया का हल लिखना चाहिए। इसके बाद छात्रों को एक अन्य टीम के साथ भूलभुलैया का आदान-प्रदान करना चाहिए, जो बदले में, फ्लोचार्ट के रूप में भूलभुलैया का समाधान तैयार करेगी। इसके बाद दोनों टीमों को उत्तरों की तुलना करके देखना चाहिए कि वे कितने मेल खाते हैं।
इस गतिविधि को ऑनलाइन या मोबाइल गेम से जोड़ने के लिए, अपने छात्रों से उनके पसंदीदा गेम/ऐप के लक्ष्य का वर्णन करने के लिए कहें। इसके बाद छात्रों से एक फ्लोचार्ट बनाने को कहें जिसमें उनके खेल में अपनाए गए पहले दस हां/ना या सही/गलत निर्णयों की रूपरेखा हो।