Skip to main content

निर्णय लेना - C++

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

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

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

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

निर्णय लेना

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

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

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

// प्रोजेक्ट कोड शुरू करें
int main() {
  // रोबोट कॉन्फ़िगरेशन आरंभ कर रहा है। दूर नहीं करते!
  vexcodeInit();

  while (true) {
    if (Brain.Screen.pressing()) {
      Drivetrain.drive(forward);
    }
    else {
      Drivetrain.stop();
    }    
  }  
} 

 

शिक्षक युक्तियाँ आइकन शिक्षक सुझाव - स्वतः पूर्ण का उपयोग करना

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

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

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

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

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