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

निर्णय लेना - पायथन

शिक्षक टूलबॉक्स आइकन शिक्षक टूलबॉक्स - इस पठन का उद्देश्य

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

किसी रोबोट को देखते समय ऐसा लग सकता है कि वह अपने व्यवहार के बारे में खुद निर्णय ले रहा है, लेकिन प्रोग्रामिंग के भीतर, वह स्थितियों की जांच कर रहा होता है और उचित कार्रवाई कर रहा होता है। छात्र इस बात पर विचार कर सकते हैं कि परिस्थितियाँ उनके स्वयं के सूचित निर्णयों को कैसे प्रभावित करती हैं।

लेना है:क्या मुझे छाता लेना चाहिए?
वर्तमान स्थिति:बारिश होने की संभावना है (सत्य)।
निर्णय: छाता लें।

एक व्यक्ति सड़क के चौराहे पर खड़ा है, जिसके पास जमीन पर दो तीर बने हुए हैं। बाईं ओर का तीर, जिस पर FALSE लिखा है, बाईं ओर इंगित करता है, जबकि दाईं ओर का तीर, जिस पर TRUE लिखा है, दाईं ओर इंगित करता है। वह व्यक्ति दोनों रास्तों के प्रतिच्छेदन बिंदु पर स्थित है।
सही और गलत पथ

निर्णय लेना

अपने सबसे बुनियादी स्तर पर, प्रोग्राम सरल व्यवहार अनुक्रमों को पूरा करने के लिए लिखे जाते हैं। उदाहरण के लिए, आप शायद चाहेंगे कि आपका रोबोट आगे बढ़े और किसी गंतव्य तक पहुंचने के लिए कुछ मोड़ भी ले। लेकिन, क्या होगा यदि आप चाहते हैं कि आपका रोबोट आगे बढ़ना शुरू करने और अपना मार्ग पूरा करने के लिए सही समय का इंतजार करे? इसके लिए सशर्त कथनों के साथ प्रोग्रामिंग की आवश्यकता होगी। आप अपने प्रोजेक्ट में "शुरू करने का सही समय" परिभाषित करने के लिए सशर्त कथन का उपयोग करेंगे। हो सकता है कि "सही समय" तब हो जब कोई बटन दबाया जाए या जब कोई सेंसर एक विशिष्ट स्तर का पता लगाए और फिर गाड़ी चलना शुरू हो जाए। जब आप रोबोट के व्यवहार को देखेंगे, तो ऐसा लगेगा कि वह खुद तय कर रहा है कि कब चलना शुरू करना है
लेकिन असल में ऐसा इसलिए है क्योंकि आपने ही यह शर्त तय की है कि चलना कब शुरू होना चाहिए।
कथन शक्तिशाली प्रोग्रामिंग कथन होते हैं जो बूलियन (सही या गलत) स्थिति का उपयोग करते हैं। ऊपर दिए गए उदाहरण का उपयोग करते हुए, आप अपने रोबोट को इस तरह से प्रोग्राम कर सकते हैं कि वह बार-बार जांच करे कि उसकी ब्रेन स्क्रीन दबाई गई है या नहीं और दबाए जाने पर आगे बढ़े। उस प्रोजेक्ट में सशर्त कथन कुछ इस तरह हो सकता है, "यदि स्क्रीन यह पता लगाती है कि इसे दबाया गया है (TRUE), तो ड्राइविंग अनुक्रम चलाएँ।" इस कथन में इस बात का कोई उल्लेख नहीं है कि यदि स्थिति FALSE है (स्क्रीन परके बजायदबाया गया है) तो रोबोट FALSE होने पर कोई कार्रवाई नहीं करता है। सशर्त कथन आपको ऐसी परियोजनाएं विकसित करने की अनुमति देते हैं जिनमें रोबोट जो कुछ भी महसूस करता है उसके आधार पर अलग-अलग व्यवहार करता है। बूलियन लॉजिक के बारे में अधिक जानकारी के लिए, निम्नलिखित लिंक में से किसी एक पर क्लिक करें (Google Doc / .docx / .pdf)।

निम्नलिखित उदाहरण में, यदि ब्रेन की स्क्रीन दबाई जाती है (TRUE), तो रोबोट आगे बढ़ेगा। यदि ब्रेन की स्क्रीन को नहीं दबाया जाता है (FALSE), तो रोबोट चलना बंद कर देगा। इससे पता चलता है कि रोबोट तभी आगे बढ़ता है जब ब्रेन की स्क्रीन को दबाया जाता है, अन्यथा रोबोट रुक जाता है।

# प्रोजेक्ट कोड प्रारंभ करें
while True:
    if brain.screen.pressing():
        drivetrain.drive(FORWARD)
    else:
        drivetrain.stop()
    wait(5, MSEC)

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

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

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

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

इस गतिविधि को ऑनलाइन या मोबाइल गेम से जोड़ने के लिए, अपने छात्रों से उनके पसंदीदा गेम/ऐप के लक्ष्य का वर्णन करने के लिए कहें। फिर छात्रों से एक फ्लोचार्ट बनाने को कहें जिसमें उनके खेल में लिए जाने वाले पहले दस हां/ना या सही/गलत निर्णयों की रूपरेखा दी गई हो।