स्वागत छ, युवा सिकारुहरू! आज हामी कम्प्युटर प्रोग्रामिङमा नियन्त्रण संरचनाहरूको बारेमा सिक्न जाँदैछौं। नियन्त्रण संरचनाहरू कम्प्युटर प्रोग्रामको लागि सडक चिन्हहरू जस्तै हुन्। तिनीहरूले कुन बाटो जाने र अब के गर्ने भनेर बताउँछन्। जसरी तपाईं घर वा स्कूलमा नियमहरू पालना गर्नुहुन्छ, त्यसरी नै कम्प्युटरले प्रोग्राम चलाउँदा नियन्त्रण संरचनाहरू पालना गर्दछ।
नियन्त्रण संरचना भनेको निर्देशनहरूको एक सेट हो जसले कम्प्युटरलाई कार्यक्रम सञ्चालन गर्दा विभिन्न चरणहरू बीच कसरी छनौट गर्ने भनेर बताउँछ। यसले कम्प्युटरलाई एउटै क्रममा चलिरहने कि केही फरक गर्ने निर्णय गर्ने भन्ने निर्णय गर्छ।
कल्पना गर्नुहोस् तपाईं एउटा नुस्खा पछ्याउँदै हुनुहुन्छ। नुस्खाले तपाईंलाई प्रत्येक चरण बताउँछ: पहिले, पीठो र पानी मिलाउनुहोस्; त्यसपछि, एउटा अण्डा थप्नुहोस्; त्यसपछि, चलाउनुहोस्; र अन्तमा, मिश्रण बेक गर्नुहोस्। कम्प्युटरमा, नियन्त्रण संरचनाहरूले समान रूपमा काम गर्छन्। तिनीहरूले कम्प्युटरलाई कुन निर्देशन आउँछ र छनौटहरू हुँदा कुन निर्णय लिने भनेर जान्न मद्दत गर्छन्।
आज तपाईंले तीन मुख्य प्रकारका नियन्त्रण संरचनाहरूको बारेमा सिक्नुहुनेछ। ती हुन्:
क्रमिक नियन्त्रण संरचनाहरूले कम्प्युटरलाई एकपछि अर्को निर्देशनहरू निश्चित क्रममा पालना गर्न भन्छन्। क्रमिक नियन्त्रणमा कुनै निर्णय लिने काम हुँदैन। प्रत्येक चरण पङ्क्तिबद्ध रूपमा हुन्छ, जस्तै जब तपाईं निर्देशनहरूको साधारण सेट पालना गर्नुहुन्छ।
उदाहरणका लागि, तपाईंको दैनिक बिहानको दिनचर्याको बारेमा सोच्नुहोस्:
प्रत्येक गतिविधि एक पछि अर्को स्पष्ट क्रममा हुन्छ। प्रोग्रामिङमा, यसलाई क्रमिक कार्यान्वयन भनिन्छ। कम्प्युटरले पहिलो निर्देशन पढ्छ, त्यसपछि दोस्रो, र त्यसपछि तेस्रो।
यदि हामी स्यान्डविच बनाउने साधारण स्यूडो-प्रोग्रामको बारेमा सोच्दछौं भने, यो यस्तो देखिन सक्छ:
चरण १: दुई स्लाइस रोटी लिनुहोस्।
चरण २: एउटा स्लाइसमा बटर छर्नुहोस्।
चरण ३: बटरमाथि चीज राख्नुहोस्।
चरण ४: दुई स्लाइसहरू सँगै राख्नुहोस्। आफ्नो स्यान्डविचको आनन्द लिनुहोस्!
तपाईंले बनाउने स्यान्डविच जस्तै, कम्प्युटरले निर्देशनहरू एक-एक गरी कार्यान्वयन गर्दछ।
चयन नियन्त्रण संरचनाहरूले कम्प्युटरलाई छनौट गर्न अनुमति दिन्छ। तिनीहरू बाटोमा काँटा वा "आफ्नो साहसिक कार्य आफै छान्नुहोस्" पुस्तक जस्तै काम गर्छन्। कम्प्युटरले कुनै अवस्था वा नियम हेर्छ, र त्यसपछि कुन बाटो पछ्याउने भनेर निर्णय गर्छ।
उदाहरणका लागि, बिहान के लगाउने भन्ने बारे सोच्नुहोस्। तपाईं निर्णय गर्न सक्नुहुन्छ: "यदि पानी परिरहेको छ भने, म रेनकोट लगाउनेछु। यदि घमाइलो छ भने, म टि-शर्ट लगाउनेछु।" यो एउटा निर्णय हो जसले तपाईंलाई मौसमको लागि तयार हुन मद्दत गर्दछ। प्रोग्रामिङमा, कम्प्युटरले निर्णय लिन if , else if , र else कथनहरू प्रयोग गर्दछ।
सरल भाषामा एउटा साधारण कोड जस्तो उदाहरण यस्तो देखिन्छ:
यदि पानी परिरहेको छ भने, "छाता लिनुहोस्" लेख्नुहोस् ।
अन्यथा , "छाता आवश्यक छैन" लेख्नुहोस्।
यसको अर्थ हो: यदि अवस्था (पानी पर्नु) सत्य हो भने, कार्य गर्नुहोस् (छाता लिनुहोस्)। अन्यथा, अर्को कार्य गर्नुहोस्।
अर्को उदाहरण प्रयोग गरौं। कल्पना गर्नुहोस् तपाईं एउटा खेल खेल्दै हुनुहुन्छ, र त्यहाँ एउटा नियम छ जसले भन्छ, "यदि तपाईंले १० अंक प्राप्त गर्नुभयो भने, तपाईंले जित्नुहुन्छ!" यो नियम छनोट नियन्त्रण संरचना जस्तै हो। खेलले तपाईंको अंक १० बराबर छ कि छैन भनेर जाँच गर्छ। यदि हो भने, यसले तपाईंलाई विजेता घोषणा गर्छ। यदि होइन भने, यसले खेलिरहन्छ।
छनोट संरचनाहरूले कम्प्युटरहरूलाई त्यस्ता निर्णयहरू ह्यान्डल गर्न मद्दत गर्छन् जसका केही सम्भावित उत्तरहरू मात्र हुन्छन्। तिनीहरूले कम्प्युटरलाई भन्छन्, "यदि यो सत्य हो भने यो गर, र यदि यो सत्य होइन भने, अरू केही गर।"
पुनरावृत्ति नियन्त्रण संरचनाहरूले कम्प्युटरलाई बारम्बार केही गर्न भन्छन्। यसलाई लुपिङ वा दोहोरिने कार्यहरू भनिन्छ। जब तपाईंलाई कुनै कार्य धेरै पटक दोहोर्याउन आवश्यक पर्दछ, पुनरावृत्ति प्रयोग गरिन्छ।
टोकरीमा स्याउको संख्या गणना गर्दा सोच्नुहोस्। तपाईं गणना गर्न सक्नुहुन्छ: १, २, ३, ४, ५, र यस्तै। तपाईं एउटा संख्याबाट सुरु गर्नुहुन्छ र अन्त्यमा नपुगुन्जेल गणना गरिरहनुहुन्छ। यो कम्प्युटरले लूपहरू कसरी प्रयोग गर्छ भन्ने जस्तै हो।
प्रोग्रामिङमा दुई सामान्य प्रकारका लूपहरू छन्:
कुनै कुरा कति पटक दोहोर्याउन चाहनुहुन्छ भन्ने थाहा हुँदा for loop प्रयोग गरिन्छ। उदाहरणका लागि, यदि तपाईं एउटै गीतको पङ्क्ति ५ पटक गाउन चाहनुहुन्छ भने, तपाईं for loop प्रयोग गर्न सक्नुहुन्छ:
(१ देखि ५ सम्म गन्नुहोस् ) "जन्मदिनको शुभकामना!" भन्ने पङ्क्ति गाउनुहोस्।
कम्प्युटरले "जन्मदिनको शुभकामना!" पाँच पटक देखाउनेछ किनभने यसले चरण ५ पटक दोहोर्याउँछ।
जबसम्म कुनै अवस्था सत्य हुन्छ, कम्प्युटरले कुनै कुरा दोहोर्याइरहनुपर्छ, तब while loop प्रयोग गरिन्छ। उदाहरणका लागि, यदि तपाईं बेलुन उडाउँदै हुनुहुन्छ भने, बेलुन पर्याप्त ठूलो नभएसम्म तपाईंले उडाइरहन सक्नुहुन्छ। नियम यस्तो हुन सक्छ: "जबसम्म बेलुन ठूलो हुँदैन, त्यसमा हावा फुकिरहनुहोस्।"
यो भन्नु जस्तै हो: जबसम्म (बेलुन सानो छ), फुक्न जारी राख्नुहोस्। जब बेलुन पर्याप्त ठूलो हुन्छ, लूप रोक्नुहोस्।
यहाँ लूप आइडिया प्रयोग गर्ने अर्को साधारण उदाहरण छ: कल्पना गर्नुहोस् तपाईंलाई ताली बजाउन मन पर्छ। तपाईंले १० पटक ताली नबजाएसम्म ताली बजाउने निर्णय गर्नुहुन्छ। तपाईं भन्न सक्नुहुन्छ: "ताली" १० पटक दोहोर्याउनुहोस् । प्रोग्राममा, कम्प्युटरले प्रत्येक ताली गणना गर्नेछ र १० पटक ताली बज्दा रोकिनेछ।
प्रोग्रामिङमा नियन्त्रण संरचनाहरू धेरै महत्त्वपूर्ण हुन्छन्। तिनीहरूले कार्यक्रममा कार्यहरू व्यवस्थित गर्न मद्दत गर्छन् ताकि यो सही रूपमा काम गर्छ। तिनीहरू बिना, कम्प्युटरले निर्णय कसरी लिने वा कार्यहरू दोहोर्याउने भनेर जान्दैनथ्यो।
नियन्त्रण संरचनाहरू किन महत्वपूर्ण छन् भन्ने केही कारणहरू यहाँ दिइएका छन्:
प्रोग्रामिङमा नियन्त्रण संरचनाहरूलाई प्रतिबिम्बित गर्ने दैनिक जीवनका केही उदाहरणहरू हेरौं।
अनुक्रमिक नियन्त्रण उदाहरण:
कल्पना गर्नुहोस् तपाईं स्कूलको लागि तयार हुँदै हुनुहुन्छ। पहिले, तपाईं उठ्नुहुन्छ। त्यसपछि, तपाईं आफ्नो अनुहार धुनुहुन्छ। त्यसपछि, तपाईं आफ्नो लुगा लगाउनुहुन्छ। अन्तमा, तपाईं नास्ता खानुहुन्छ। यो तपाईंले एक पछि अर्को गर्ने कार्यहरूको क्रम हो। कम्प्युटर प्रोग्रामिङमा, प्रत्येक निर्देशन बिना शर्तहरू पालना गर्दा क्रमिक नियन्त्रण प्रयोग गरिन्छ।
चयन नियन्त्रण उदाहरण:
आफ्नो लुगा छनौट गर्दा तपाईंले गर्ने निर्णयलाई विचार गर्नुहोस्। यदि मौसम चिसो छ भने, तपाईंले न्यानो स्वेटर लगाउनुहुन्छ। यदि मौसम गर्मी छ भने, तपाईंले टी-शर्ट लगाउनुहुन्छ। यो निर्णय लिने प्रक्रिया कम्प्युटरले "यदि" कथन प्रयोग गर्ने तरिका जस्तै हो। कम्प्युटरले मौसम (अवस्था) जाँच गर्छ र त्यसपछि सही लुगा विकल्प (कार्य) छान्छ।
पुनरावृत्ति नियन्त्रण उदाहरण:
कल्पना गर्नुहोस्, तपाईं आफैंले खेलौनाहरू राख्ने जस्तो काम गरिरहनुभएको छ। तपाईंसँग धेरै खेलौनाहरू उठाउनुपर्ने हुन सक्छ। प्रत्येक खेलौनाको बारेमा एक-एक गरी सोच्नुको सट्टा, तपाईंले एउटै कार्य दोहोर्याउनुहुन्छ: एउटा खेलौना उठाउनुहोस्, खेलौनाको बक्समा राख्नुहोस्, र अर्को खेलौनामा जानुहोस् जबसम्म सबै उठाइँदैन। यो दोहोरिने कार्य हो, प्रोग्रामिङमा लुप जस्तै।
कहिलेकाहीं, नियन्त्रण संरचनाहरू एकअर्का भित्र राख्न सकिन्छ। यसलाई नेस्टेड नियन्त्रण संरचना भनिन्छ। यो तब हुन्छ जब एउटा निर्णय वा लूप अर्को भित्र हुन्छ। एउटा खेलको कल्पना गर्नुहोस् जहाँ तपाईं धेरै चरणहरूमा छनौट गर्नुहुन्छ। उदाहरणका लागि, तपाईंले पहिले बायाँ वा दायाँ जाने निर्णय गर्न सक्नुहुन्छ। यदि तपाईंले बायाँ छनौट गर्नुभयो भने, तपाईंले अर्को छनौटको सामना गर्न सक्नुहुन्छ: "के तपाईं पहाड चढ्नुहुन्छ वा यसको वरिपरि हिंड्नुहुन्छ?" प्रत्येक छनौट एउटा सानो निर्णय हो, र तिनीहरू एक पछि अर्को नेस्टेड हुन्छन्।
कोडिङमा, नेस्टिङले कम्प्युटरलाई थप जटिल कार्यहरू ह्यान्डल गर्न अनुमति दिन्छ। साधारण खेल वा अनुप्रयोगमा पनि निर्णय र लूपका धेरै तहहरू हुन सक्छन्। जब यी तहहरू सँगै काम गर्छन्, कार्यक्रमले स्मार्ट निर्णयहरू लिन सक्छ र थप रोमाञ्चक कामहरू गर्न सक्छ।
उदाहरणका लागि, एउटा कार्यक्रमको कल्पना गर्नुहोस् जसले तपाईंलाई पिकनिक योजना बनाउन मद्दत गर्छ। यसले पहिले सोध्न सक्छ, "के मौसम राम्रो छ?" यदि उत्तर हो भने, कार्यक्रमले त्यसपछि सोध्नेछ, "के तपाईंसँग पर्याप्त खाना छ?" यदि तपाईंले फेरि हो जवाफ दिनुभयो भने, यसले भन्नेछ, "राम्रो! पिकनिक जाने समय भयो!" यदि कुनै उत्तर छैन भने, यसले अर्को योजना सुझाव दिनेछ। यो नेस्टेड निर्णय-प्रक्रियाले कम्प्युटरलाई तपाईंको छनौटहरू राम्रोसँग बुझ्न मद्दत गर्दछ।
जब कुनै कम्प्युटर प्रोग्राम चल्छ, यसले तपाईंले दिनुभएको निर्देशनहरूलाई विशेष क्रममा पालना गर्छ। कम्प्युटर स्क्रिनमा अभिवादन देखाउने एउटा साधारण प्रोग्रामको बारेमा सोचौं। प्रोग्रामले निम्न कार्यहरू गर्न सक्छ:
चरण १: कार्यक्रम सुरु गर्नुहोस्।
चरण २: दिनको समय जाँच गर्नुहोस्।
चरण ३: यदि समय बिहानको हो भने, "शुभ प्रभात!" देखाउनुहोस्।
चरण ४: यदि समय दिउँसोको हो भने, "शुभ दिउँसो!" देखाउनुहोस्।
चरण ५: यदि समय साँझको हो भने, "शुभ साँझ!" देखाउनुहोस्।
चरण ६: कार्यक्रम अन्त्य गर्नुहोस्।
यस कार्यक्रममा, एउटा स्पष्ट अनुक्रम छ। स्क्रिनमा के देखाउने भन्ने बारे पनि निर्णय हुन्छ। कम्प्युटरले त्यो निर्णय गर्न चयन नियन्त्रण संरचना ( यदि-अन्य कथनहरू) प्रयोग गर्दछ।
अर्को, कल्पना गर्नुहोस् कि तपाईं एउटा साधारण कम्प्युटर गेम खेल्दै हुनुहुन्छ जहाँ तपाईंले सिक्का सङ्कलन गर्न आवश्यक छ। तपाईंले एउटा सिक्का सङ्कलन गर्दा प्रत्येक पटक जाँच गर्न यो कार्यक्रमले लूप प्रयोग गर्न सक्छ। तपाईंले सङ्कलन गर्दा यसले तपाईंको सिक्का गणना गर्नेछ। जब तपाईं सबै सिक्का सङ्कलन गर्नुहुन्छ, खेल समाप्त हुन्छ। यहाँ, लूप भनेको पुनरावृत्ति नियन्त्रण संरचना हो जसले गणना प्रक्रिया दोहोर्याउँछ।
नियन्त्रण संरचनाहरू केवल स्कूल अभ्यास वा साना कार्यक्रमहरूमा मात्र प्रयोग गरिँदैनन्। तिनीहरू धेरै वास्तविक-विश्व अनुप्रयोगहरूमा प्रयोग गरिन्छ जुन हामी हरेक दिन देख्छौं। यहाँ केही रोचक उदाहरणहरू छन्:
यी उदाहरणहरूले देखाउँछन् कि नियन्त्रण संरचनाहरू जताततै छन्! तिनीहरूले आधुनिक उपकरणहरू र कार्यक्रमहरूलाई सकेसम्म सहज रूपमा काम गर्न मद्दत गर्छन्, जसले गर्दा हाम्रो जीवन सजिलो र रमाइलो हुन्छ।
एउटा साधारण स्यूडोकोड उदाहरण लेखौं। स्यूडोकोड भनेको कोड जस्तै देखिने सरल शब्दहरू प्रयोग गरेर कार्यक्रमहरू योजना बनाउने तरिका हो।
उदाहरण: खाजाको लागि एक सरल निर्णयकर्ता
कल्पना गर्नुहोस् कि तपाईं खाजाको रूपमा स्याउ वा केरा खाने निर्णय गर्न चाहनुहुन्छ। तपाईं नियमहरू यसरी लेख्न सक्नुहुन्छ:
यदि तपाईं भोकाउनुभएको छ र केही गुलियो चाहनुहुन्छ भने, स्याउ छान्नुहोस्।
अन्यथा यदि तपाईं भोकाउनुभएको छ र नरम चीज चाहनुहुन्छ भने, केरा छान्नुहोस्।
नत्र , बसेर के चाहन्छौ भनेर सोच।
यो स्यूडोकोडले कम्प्युटरलाई भन्छ: पहिले जाँच गर्नुहोस् कि तपाईंलाई केहि मीठो चाहिन्छ कि। यदि त्यो सत्य हो भने, एउटा स्याउ छान्नुहोस्। यदि होइन भने, केरा जस्तो अरू केहि छ कि छैन जाँच गर्नुहोस्। यदि कुनै पनि विकल्पहरू मेल खाँदैनन् भने, निर्णय गर्न एक क्षण लिनुहोस्।
नियन्त्रण संरचनाहरूलाई नक्साको रूपमा सोच्न मद्दत गर्न सक्छ। एउटा साधारण खजाना नक्साको कल्पना गर्नुहोस्। नक्सामा चरणहरू क्रमबद्ध रूपमा लेखिएको चिन्हित बाटो छ। जब तपाईं बाटोको फाँटोमा आउनुहुन्छ, नक्साले तपाईंलाई खजानाबाट प्राप्त संकेतको आधारमा कुन बाटो जाने भनेर बताउँछ। कहिलेकाहीँ, नक्साले तपाईंलाई खजाना नपुगुन्जेल धेरै पटक एउटै बाटो पछ्याउन भन्छ। यी सबै निर्देशनहरूले तपाईंलाई सही बाटो फेला पार्न मद्दत गर्छन्।
त्यसैगरी, कम्प्युटरले नक्सा पछ्याउन क्रमिक चरणहरू, फोर्कहरूमा सही मार्ग छनौट गर्न चयन, र लक्ष्य नपुगेसम्म कार्यहरू दोहोर्याउन पुनरावृत्ति प्रयोग गर्दछ। नियन्त्रण संरचनाहरू प्रयोग गरेर, हामी कम्प्युटरलाई यसको "खजाना" - सही परिणाममा कसरी पुग्ने भनेर ठ्याक्कै भन्न सक्छौं।
आज हामीले सिकेका महत्त्वपूर्ण विचारहरूको समीक्षा गरौं: