सारांश
यह पाठ पाठ्यक्रम की चौथी इकाई का आरंभ करता है, जो नियंत्रण प्रवाह को समर्पित है। यह बताता है कि इकाई किसलिए है: यह सिखाना कि किसी प्रोग्राम के स्टेटमेंट जिस क्रम में निष्पादित होते हैं उसे निर्णयों और लूपों से कैसे नियंत्रित किया जाए, और उनकी शुद्धता पर तर्कणा कैसे की जाए, यानी यह कैसे सुनिश्चित किया जाए कि हर स्थिति सँभाली जाए, हर लूप वही करे जो उसे करना चाहिए, और वह समाप्त हो; इकाई के चार पाठों और उन्हें जोड़ने वाले सूत्र को प्रस्तुत करता है; उसे याद दिलाता है जिसे इकाई ज्ञात मानती है, विशेषकर इकाई 3 की संयुक्त शर्तें; उस समस्या को सामने रखता है जिसे इकाई हल करती है, यानी एक ऐसे प्रोग्राम की समस्या जो निश्चित संख्या के चरणों में महत्तम समापवर्तक की गणना करता है और जो डेटा के अनुसार ग़लत उत्तर देता है या शून्य से भाग पर रुक जाता है; निश्चर का पहले से परिचय देता है, उस उपकरण के रूप में जिससे इकाई अपने लूपों को उचित सिद्ध करेगी; और दिखाता है कि यह इकाई आगे की इकाइयों में और C++ में प्रोग्रामिंग II पाठ्यक्रम में कहाँ ले जाती है।
अधिगम उद्देश्य
- इकाई की विषय-वस्तु के क्रम का वर्णन करना और यह समझाना कि हर पाठ अपने ठीक बाद वाले पाठ को क्या देता है।
- इकाई 3 की संयुक्त शर्तों (तार्किक संयोजक, शॉर्ट-सर्किट गणना और डी मॉर्गन के नियमों द्वारा निषेध) को याद करना और आवश्यकता हो तो उन्हें दोहराना।
- एक उदाहरण के साथ, तर्कणा के उपकरण के रूप में निश्चर का पहले से परिचय पाना: चरों के बीच एक ऐसा संबंध जिसे पुनरावृत्ति बनाए रखती है और जो उसके समाप्त होने पर परिणाम देता है।
- पहचानना कि इकाई के अंत में क्या करना आना अपेक्षित है, और उसे उससे अलग करना जो आगे की इकाइयों में सीखा जाएगा।
प्रवेश मूल्यांकन
इकाई शुरू करने से पहले आरंभ-बिंदु को माप लेना उपयोगी है। यह मूल्यांकन एक स्व-मूल्यांकन है: इसमें अंक नहीं दिए जाते, और इसका एकमात्र उद्देश्य अध्ययन को दिशा देना है। पहले चार प्रश्न उसे जाँचते हैं जिसे इकाई ज्ञात मानती है: किसी संयुक्त शर्त का निषेध, शॉर्ट-सर्किट गणना, पाठ 1.1 की एक पुनरावृत्ति का ट्रेस और int की सीमा। उसके बाद के सात प्रश्न, पाठों के क्रम से, इकाई के केंद्रीय विचारों को छूते हैं, और उनमें से कई स्कूली गणित से शुरू होते हैं: महत्तम समापवर्तक, योग का संकेतन, किसी प्रक्रिया की समाप्ति। अभी इनके सही उत्तर देने के लिए कोई बाध्य नहीं है, और इनमें से कुछ में “मुझे अभी नहीं पता” एक ईमानदार उत्तर है: हर उत्तर, सही हो या ग़लत, बात को समझाता है और उस पाठ का नाम बताता है जिसमें वह बात आती है। यही कौशल अंत में, सारांश वाले पाठ में, फिर से मापे जाते हैं।
इकाई शुरू करने से पहले अपना आरंभ बिंदु मापें। यह एक छोटा स्व-मूल्यांकन है: इस पर अंक नहीं दिए जाते और इसका परिणाम केवल आपके ब्राउज़र में रहता है।
प्रश्न 1पिछली इकाइयों सेशर्त
1 <= n && n <= 10का निषेध क्या है?हर भाग का निषेध करता है, पर संयोजन को बनाए रखता है: डी मॉर्गन को भूल जाता है। इसके अलावा, कोई भी संख्या एक साथ 1 से छोटी और 10 से बड़ी नहीं होती, इसलिए यह शर्त सदा असत्य है।संयोजक को ठीक बदलता है, पर संबंधों का निषेध ग़लत करता है: सीमाओं 1 और 10 को भी बाहर कर देता है, जो दी गई शर्त को संतुष्ट करती हैं।केवल पहले भाग का निषेध करता है।डी मॉर्गन के अनुसार, संयोजन का निषेध निषेधों का वियोजन है, और1 <= nका निषेधn < 1है,n <= 1नहीं। इकाई को इसकी ज़रूरत हर शृंखलित निर्णय में पड़ती है, क्योंकिelseशाखा ठीक-ठीक पहले की शर्तों के निषेध को सँभालती है, और हर लूप में, क्योंकि बाहर निकलने पर उसकी शर्त का निषेध सत्य होता है।दोहराएँ: संबंध और तर्क
प्रश्न 2पिछली इकाइयों से
int d{0};औरint n{5};के साथ,d != 0 && n / d > 2की गणना करने पर क्या होता है?शॉर्ट-सर्किट गणना की उपेक्षा करता है: भाग की गणना कभी होती ही नहीं।किसी असत्य संकार्य वाला संयोजन सत्य हो ही नहीं सकता।व्यंजक सही है; कंपाइलर निष्पादन के समयdका मान नहीं जानता।पहला संकार्य असत्य है, और शॉर्ट-सर्किट गणना दूसरे की गणना नहीं करती: बाईं ओर का पहरेदार भाग की रक्षा करता है। इकाई इस पहरेदार को स्पष्ट निर्णयों में और ऐसी लूप-शर्तों में बदलती है जो अपनी बॉडी की रक्षा करती हैं।दोहराएँ: संबंध और तर्क
प्रश्न 3पिछली इकाइयों सेपाठ 1.1 का क्रमिक घटाव द्वारा विभाजन और से शुरू होता है, और दोहराता है “जब तक , को में से घटाओ और में 1 जोड़ो”। और के साथ, पुनरावृत्ति की बॉडी कितनी बार निष्पादित होती है?
शर्त की गणनाओं को गिनता है, जो चक्करों से एक अधिक होती हैं।पुनरावृत्ति को पर रोक देता है: को पढ़ता है।चक्करों की संख्या को के आरंभिक मान से भ्रमित करता है।ट्रेस से मिलता है: बॉडी चार बार निष्पादित होती है, और शर्त की गणना पाँच बार होती है, क्योंकि अंतिम गणना वही है जो विफल होती है। पाठ 4.2 इस पुनरावृत्ति को C++ में लिखता है और ट्रेस को एक तालिका में बदल देता है।दोहराएँ: समस्या से एल्गोरिदम तक
प्रश्न 4पिछली इकाइयों से32 बिट के
intके साथ, मानक46341 * 46341के मान के बारे में क्या गारंटी देता है?प्रकार की परास की उपेक्षा करता है: यह संख्याintमें नहीं समाती।मानता है कि ओवरफ़्लो सीमा पर रुक जाता है; मानक कोई वादा नहीं करता।परिणाम का प्रकार संकार्य तय करते हैं, जोintहैं, परिणाम का मान नहीं।अधिकतम है। इकाई इस गुणनफल से ऐसी जगह मिलती है जहाँ कोई उसे नहीं खोजता: भाजकों को परखने वाले लूप की शर्तd * d <= nमें, जो ठीक तब ओवरफ़्लो होती है जब अधिकतम के निकट होता है।दोहराएँ: पूर्णांक और उनका निरूपण
प्रश्न 5एक प्रोग्राम में निर्णयों की यह शृंखला है:
if (score >= 50), जो “उत्तीर्ण” लिखता है;else if (score >= 90), जो “उत्कृष्ट” लिखता है; औरelse, जो “अनुत्तीर्ण” लिखता है। जबscore95 के बराबर हो, तो यह क्या लिखता है?मानता है कि सबसे कड़ी शर्त जीतती है; जीतती वह है जो सबसे पहले संतुष्ट होती है।मानता है कि सभी सत्य शाखाएँ निष्पादित होती हैं; शृंखला में केवल एक निष्पादित होती है।यह एक ईमानदार उत्तर है: पाठ 4.1 इसे समझाता है, और समापन मूल्यांकन शृंखला की सीमाओं पर लौटेगा।शृंखला में वह पहली शाखा निष्पादित होती है जिसकी शर्त सत्य है, और । “उत्कृष्ट” शाखा कभी निष्पादित नहीं होती: उसकी वास्तविक स्थिति और है, जो रिक्त है। पाठ 4.1 हर शाखा की वास्तविक स्थिति पढ़ना और शर्तों को क्रम में रखना सिखाता है।दोहराएँ: निर्णय
प्रश्न 6नीचे दिए व्यंजकों में से कौन-सा योग को निरूपित करता है?
बार संख्या को जोड़ता है, यानी : पद को ऊपरी सीमा से भ्रमित करता है।को जोड़ता है: सीमाओं को खिसका देता है और अंतिम पद खो देता है, जो लूपों की एक के अंतर की त्रुटि है।ऊपरी सीमा स्वयं सूचकांक नहीं हो सकती: व्यंजक का कोई अर्थ नहीं है।सूचकांक , 1 से तक के पूर्णांकों से होकर जाता है, और हर पद स्वयं है। संचय करने वालाforलूप इस संकेतन का सीधा अनुवाद है: नियंत्रण चर सूचकांक है, उसकी सीमाएँ योग की सीमाएँ हैं, और बॉडी पद को जोड़ती है।दोहराएँ: लूप
प्रश्न 7
int total{0};के साथ,for (int i{0}; i < 5; ++i) { total += i; }के बादstd::println("{}", total);क्या लिखता है?मानता है किi5 तक पहुँचता है:<को<=पढ़ता है।संचायक को काउंटर से भ्रमित करता है: पाँच चक्करों की संख्या है, योग नहीं।यह एक ईमानदार उत्तर है: पाठ 4.2forका रूप और उसके चक्कर गिनना सिखाता है।चरiके मान 0, 1, 2, 3 और 4 होते हैं, और ;iके 5 होने पर शर्त विफल होती है और बॉडी निष्पादित नहीं होती। यह ऊपर वाले प्रश्न का योग ही है, सीमाओं 0 और 4 के साथ।दोहराएँ: लूप
प्रश्न 8क्रमिक घटाव द्वारा विभाजन में (, ; जब तक , बदलकर होता है और बदलकर ), हर बार शर्त की गणना के समय चरों के बीच कौन-सा संबंध सत्य होता है?
केवल बाहर निकलने पर सत्य है: जब तक पुनरावृत्ति चलती है, शर्त इसका उलटा सुनिश्चित करती है।केवल समाप्ति पर सत्य है; उससे पहले भागफल से छोटा होता है।यह एक ईमानदार उत्तर है: पाठ 4.3 इस संबंध को खोजना और जाँचना सिखाता है, और समापन मूल्यांकन यह फिर पूछेगा।यह आरंभ में सत्य है, क्योंकि ; और यदि यह किसी चक्कर से पहले सत्य है, तो उसके बाद भी सत्य है, क्योंकि । बाहर निकलने पर शर्त का निषेध, , जुड़ जाता है, और दोनों मिलकर परिणाम देते हैं। ऐसे संबंध को निश्चर कहते हैं, और पाठ 4.3 इसे लूपों की रचना करने और उन्हें उचित सिद्ध करने की विधि बना देता है।दोहराएँ: सही लूप की रचना
प्रश्न 9एक प्रक्रिया किसी भी पूर्णांक से (धनात्मक, शून्य या ऋणात्मक) शुरू होती है और दोहराती है “जब तक , में से 2 घटाओ”। क्या यह हर के लिए समाप्त होती है?
ऐसा शर्त के साथ होता है; के साथ पुनरावृत्ति तभी रुक जाती है जब का मान 0 या हो जाता है।ऋणात्मक के साथ शर्त आरंभ से ही असत्य है, और बॉडी निष्पादित नहीं होती।निष्कर्ष सही है, पर कारण नहीं: पूर्णांक होना पर्याप्त नहीं है; आवश्यक यह है कि राशि पुनरावृत्ति के दौरान प्राकृत संख्या हो और घटती जाए।राशि जब तक पुनरावृत्ति चलती है तब तक एक प्राकृत संख्या है (यह शर्त सुनिश्चित करती है) और निरंतर घटती है: यह एक वैरिएंट है, पाठ 1.1 का वह उपकरण जिसे पाठ 4.3 हर लूप में प्रयोग करता है। “जब तक ” के साथ उत्तर बदल जाता: विषम शून्य को लाँघ जाता है।दोहराएँ: सही लूप की रचना
प्रश्न 1084 और 36 का महत्तम समापवर्तक क्या है?
यह एक उभयनिष्ठ भाजक है, पर सबसे बड़ा नहीं।यह एक उभयनिष्ठ भाजक है, पर सबसे बड़ा नहीं: इसमें गुणनखंड 3 नहीं है, जो दोनों में उभयनिष्ठ है।यह लघुत्तम समापवर्त्य है, महत्तम समापवर्तक नहीं।उभयनिष्ठ भाजक 1, 2, 3, 4, 6 और 12 हैं। यूक्लिड का एल्गोरिदम भाजकों को खोजे बिना इसे प्राप्त करता है: और , इसलिए । पाठ 4.4 इसे लूप के रूप में लिखता है और सिद्ध करता है कि यह क्यों काम करता है।दोहराएँ: संख्यात्मक एल्गोरिदम
प्रश्न 11भाजकों को परखकर यह तय करने के लिए कि 101 अभाज्य है या नहीं, किस भाजक तक पहुँचना पर्याप्त है?
आधे का प्रयोग करता है: यह सही है, पर आवश्यकता से पाँच गुना लंबा।सभी उम्मीदवारों को परखता है: यह सही है, पर इस बात का लाभ नहीं उठाता कि भाजक जोड़ियों में आते हैं।यह एक ईमानदार उत्तर है: पाठ 4.4 इसे सिद्ध करता है।यदि 101 का कोई भाजक होता, जिसके लिए , तो भी भाजक होता, और दोनों में से एक अधिक से अधिक होता। 2 से 10 तक परखना पर्याप्त है: इनमें से कोई भी 101 को नहीं विभाजित करता, इसलिए वह अभाज्य है। पाठ 4.4 इस नियम को सिद्ध करता है और इसे वर्गमूलों के बिना और ओवरफ़्लो होने वाले गुणनफलों के बिना लिखता है।दोहराएँ: संख्यात्मक एल्गोरिदम
सामग्री लोड हो रही है…