Skip to main content

मूल्यांकन करें और व्याख्या करें

शिक्षक टूलबॉक्स आइकन शिक्षक टूलबॉक्स - कोड दक्षता का परिचय

अब जबकि छात्रों ने किसी विशिष्ट कार्य को पूरा करने के लिए कोड अनुक्रम लिखने का अभ्यास कर लिया है, तो उनसे उन कौशलों को कोड अनुक्रमों को पढ़ने और उनका मूल्यांकन करने में लागू करने के लिए कहा जाएगा। इस गतिविधि में, छात्रों को प्ले अनुभाग के समान एक मानचित्र दिया जाएगा, और पसंदीदा समाधान चुनने के लिए 3 कोड अनुक्रमों को देखने के लिए कहा जाएगा। प्रत्येक अनुक्रम के लिए छात्र 3 प्रश्नों के उत्तर देंगे:

  • क्या यह कोड कार्य पूरा करता है?

  • यदि यह काम करता है, तो अन्य की तुलना में इस कोड के क्या लाभ हैं?

  • अन्य कोडों की तुलना में इस कोड में क्या कमियां हैं?

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

पसंदीदा समाधान चुनने के लिए कोड अनुक्रमों को पढ़ना

जब आपकी कक्षा ने प्ले अनुभाग पर काम किया, तो आपने संभवतः देखा होगा कि प्रस्तुत की गई एक ही समस्या के कई अलग-अलग समाधान थे। प्रोग्रामिंग की दुनिया में ऐसा अक्सर होता है। यद्यपि किसी कार्य को करने के अलग-अलग तरीके हो सकते हैं, लेकिन हर किसी की एक पसंदीदा विधि या समाधान होगा, और यह कई कारकों पर आधारित हो सकता है। इस गतिविधि में, आपका समूह किसी समस्या के 3 संभावित कोड ब्लॉक समाधानों को देखेगा, पता लगाएगा कि क्या वे इच्छित तरीके से काम करते हैं, फिर समूह से एक पसंदीदा समाधान चुनेंगे और बताएंगे कि आपने इसे क्यों चुना।

समस्या: एक अनुक्रम बनाएं, जब रोबोट शुरुआत से शुरू होता है, तो सभी 3 कक्षाओं (किसी भी क्रम में) में और बाहर यात्रा करेगा और अंत बिंदु पर वापस आ जाएगा। रोबोट को सीढ़ियों के चारों ओर घूमना होगा, तथा मानचित्र चित्र पर छोटे आयतों द्वारा चिह्नित दरवाजों से होकर गुजरना होगा।

स्केच किया गया लेआउट जिसमें नीचे बाएँ कोने पर प्रारंभ और नीचे दाएँ कोने पर अंत दिखाया गया है। प्रारंभ के ऊपर कक्ष A है, जिसका एक द्वार प्रारंभ की ओर है तथा एक द्वार दाईं ओर है, जो केंद्र में सीढ़ियों की ओर है। सीढ़ियों के ठीक दाहिनी ओर कमरा बी और कमरा सी हैं जो अंत के ऊपर स्थित हैं। कमरा बी और सी के लिए सीढ़ियों के सामने दरवाजे हैं, तथा एक दरवाजा दोनों को जोड़ता है।

  • नीचे दिए गए प्रत्येक समाधान के लिए, अपनी इंजीनियरिंग नोटबुक में इन 3 प्रश्नों के उत्तर दें:
    • क्या यह कोड कार्य पूरा करता है? क्यों या क्यों नहीं?
    • यदि यह काम करता है, तो अन्य की तुलना में इस कोड के क्या लाभ हैं?
    • अन्य कोडों की तुलना में इस कोड में क्या कमियां हैं?
  • अधिकांशतः प्रोग्रामिंग का मूल्यांकन उसकी दक्षता के आधार पर किया जाता है, तथा पसंदीदा समाधान वह होता है जो लक्ष्य को यथासंभव सबसे अधिक कुशल तरीके से पूरा करता है।

बड़ी छवि देखने के लिए नीचे दिए गए समाधान पर क्लिक करें।

चुनौती के लिए उदाहरण समाधान जिसमें "जब शुरू किया गया" ब्लॉक से जुड़े 19 "ड्राइव टू" और "टर्न" ब्लॉक शामिल हैं। क्रम में, ब्लॉक रोबोट को दाएं 90 डिग्री मोड़ेंगे, 10 इंच आगे बढ़ाएंगे, बाएं 90 डिग्री मोड़ेंगे, 3 इंच आगे बढ़ाएंगे, फिर 6 इंच पीछे करेंगे, फिर बाएं 90 डिग्री मोड़ेंगे, 10 इंच आगे बढ़ाएंगे। फिर दाएं 90 डिग्री पर मुड़ें, 8 इंच आगे बढ़ें और 4 इंच पीछे जाएं, दाएं 90 डिग्री पर मुड़ें, 10 इंच आगे बढ़ें। फिर बायीं ओर 90 डिग्री मुड़ें, 1 इंच आगे बढ़ें, दाहिनी ओर 90 डिग्री मुड़ें, 3 इंच आगे बढ़ें और 4 इंच पीछे जाएं, फिर दाहिनी ओर 90 डिग्री मुड़ें और 5 इंच आगे बढ़ें।
समाधान A (इंच)

एक उदाहरण समाधान जिसमें 11 ड्राइव फॉर और टर्न फॉर ब्लॉक हैं जो एक व्हेन स्टार्टेड ब्लॉक से जुड़े हैं। क्रम में ब्लॉक रोबोट को 10 इंच आगे ले जाएंगे, बाएं 90 डिग्री मुड़ेंगे, 1 इंच आगे ले जाएंगे, बाएं 90 डिग्री मुड़ेंगे, 1 इंच आगे ले जाएंगे, दाएं 90 डिग्री मुड़ेंगे, 10 इंच आगे ले जाएंगे, दाएं 90 डिग्री मुड़ेंगे, फिर 5 इंच पीछे ले जाएंगे, दाएं 90 डिग्री मुड़ेंगे और 10 इंच आगे ले जाएंगे।
समाधान बी (इंच)
जब शुरू किया गया ब्लॉक से जुड़े 10 ड्राइव फॉर और टर्न फॉर ब्लॉक के साथ एक उदाहरण समाधान। क्रम में, ब्लॉक रोबोट को 8 इंच आगे ले जाएंगे, फिर 4 इंच, दाएं 90 डिग्री पर मुड़ेंगे, 13 इंच आगे ले जाएंगे, बाएं 90 डिग्री पर मुड़ेंगे, 8 इंच आगे ले जाएंगे, बाएं 90 डिग्री पर मुड़ेंगे, 4 इंच आगे ले जाएंगे, दाएं 90 डिग्री पर मुड़ेंगे, और 5 इंच पीछे ले जाएंगे।
समाधान सी (इंच)
चुनौती के लिए उदाहरण समाधान जिसमें "जब शुरू किया गया" ब्लॉक से जुड़े ब्लॉकों के लिए 19 ड्राइव टू और टर्न शामिल हैं। क्रम में, ब्लॉक रोबोट को दाएं 90 डिग्री मोड़ेंगे, 254 मिमी आगे बढ़ाएंगे, बाएं 90 डिग्री मोड़ेंगे, 76 मिमी आगे बढ़ाएंगे, फिर 152 मिमी रिवर्स करेंगे, फिर बाएं 90 डिग्री मोड़ेंगे, 254 मिमी आगे बढ़ाएंगे। फिर दाएं 90 डिग्री पर मुड़ें, 203 मिमी आगे बढ़ें और 101 मिमी पीछे जाएं, दाएं 90 डिग्री पर मुड़ें, 254 मिमी आगे बढ़ें। फिर बायीं ओर 90 डिग्री घूमें, 25 मिमी आगे बढ़ें, दाहिनी ओर 90 डिग्री घूमें, 76 मिमी आगे बढ़ें और 101 मिमी पीछे जाएं, फिर दाहिनी ओर 90 डिग्री घूमें और 127 मिमी आगे बढ़ें।
समाधान A (मीट्रिक)
एक उदाहरण समाधान जिसमें 11 ड्राइव फॉर और टर्न फॉर ब्लॉक हैं जो एक व्हेन स्टार्टेड ब्लॉक से जुड़े हैं। क्रम में ब्लॉक रोबोट को 254 मिमी आगे ले जाएंगे, बाएं 90 डिग्री मुड़ेंगे, 25 मिमी आगे ले जाएंगे, बाएं 90 डिग्री मुड़ेंगे, 25 मिमी आगे ले जाएंगे, दाएं 90 डिग्री मुड़ेंगे, 254 मिमी आगे ले जाएंगे, दाएं 90 डिग्री मुड़ेंगे, फिर 127 मिमी रिवर्स ड्राइव करेंगे, दाएं 90 डिग्री मुड़ेंगे और 254 मिमी आगे ले जाएंगे।
समाधान बी (मीट्रिक)
जब शुरू किया गया ब्लॉक से जुड़े 10 ड्राइव फॉर और टर्न फॉर ब्लॉक के साथ एक उदाहरण समाधान। क्रम में, ब्लॉक रोबोट को 203 मिमी आगे ले जाएंगे, फिर 101 मिमी, दाएं 90 डिग्री पर मुड़ेंगे, 330 मिमी आगे ले जाएंगे, बाएं 90 डिग्री पर मुड़ेंगे, 203 मिमी आगे ले जाएंगे, बाएं 90 डिग्री पर मुड़ेंगे, 10 मिमी आगे ले जाएंगे, दाएं 90 डिग्री पर मुड़ेंगे, और 127 मिमी के लिए रिवर्स ड्राइव करेंगे।
समाधान C (मीट्रिक)

कोड दक्षता क्या है?

यदि आपको अपने रसोईघर से तीन चीजें लाने की आवश्यकता हो, तो आप संभवतः तीन अलग-अलग चक्कर लगाने के बजाय एक ही बार में तीनों चीजें ले आएंगे। क्यों? क्योंकि यह अधिक कुशल होगा। कुशल का अर्थ है "न्यूनतम व्यर्थ प्रयास या व्यय के साथ अधिकतम उत्पादकता प्राप्त करना।" तो यह प्रोग्रामिंग से कैसे जुड़ता है?

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

मूल रूप से, कोड दक्षता एक सिद्धांत है जिसका अर्थ है कि आप एक ऐसा कोड लिखना चाहते हैं जो न्यूनतम कमांड या ब्लॉक का उपयोग करके आपके लक्ष्य को पूरा करता है।

अपनी इंजीनियरिंग नोटबुक में, निम्नलिखित प्रश्नों के उत्तर दें:

  • कोड दक्षता को ध्यान में रखते हुए, आपका पसंदीदा समाधान कौन सा है और क्यों?
  • क्या आपको लगता है कि यह सबसे अच्छा समाधान है, क्यों या क्यों नहीं?

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

उत्तर भिन्न हो सकते हैं क्योंकि तीन कमरों में नेविगेट करने के लिए अनुक्रम बनाने हेतु विशिष्ट आयाम ऊपर नहीं दिए गए थे।
संभावित उदाहरण समाधान के लिए यहां क्लिक करें।

चर्चा को प्रेरित करें आइकन चर्चा को प्रेरित करें

यद्यपि कार्यकुशलता उपयोगी है, फिर भी हम अक्सर इस बात पर विचार करते हैं कि हम किसी कार्य को किसी निश्चित तरीके से क्यों या कैसे करते हैं। छात्रों से उनके उत्तर उनकी इंजीनियरिंग नोटबुक में साझा करने को कहें, और/या इस प्रश्न का उपयोग दक्षता और कार्यों के संतुलन पर चर्चा करने के लिए करें।
प्रश्न: प्रोग्रामिंग में, दक्षता आमतौर पर पसंदीदा कार्यप्रणाली होती है; क्या आप ऐसा कोई कारण सोच सकते हैं?
उत्तर: उत्तर अलग-अलग होंगे, लेकिन कुछ में ये शामिल हैं:

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

  • परियोजनाएं सदैव त्रुटियों के प्रति संवेदनशील होती हैं। परियोजना जितनी अधिक कुशलता से लिखी जाएगी, त्रुटि होने की संभावना उतनी ही कम होगी।

  • जो लोग औद्योगिक रोबोटों को चलाने के लिए प्रोग्रामिंग का उपयोग करते हैं, वे कंपनी के समय, ऊर्जा और संसाधनों को बचाने के लिए उन परियोजनाओं के कुशल होने पर भरोसा करते हैं।