कंट्रोल स्टेटमेंट क्या है एवं उपयोग | Loop कितने प्रकार के होते हैं? – कंट्रोल स्टेटमेण्ट पार्ट-2 | Control Flow Statements In Vb.Net In Hindi
कंट्रोल स्टेटमेण्ट पार्ट-2 लॉजिकल ऑपरेटर का परिचय (Introduction)- प्रोग्रामिंग भाषा पूर्णतः प्राकृतिक भाषा से प्रेरित होता है। और प्रोग्राम आपके नित्य प्रतिदिन के कार्यों से अलग नहीं होता है। आप जो भी प्रातःकाल से संध्या तक करते हैं वह एक तरह का प्रोग्राम ही होता है। इस प्रोग्राम के दौरान कुछ तो काम आप रूटीन के हिसाब से क्रम में करते रहते हैं तथा कुछ काम परिस्थिति के अनुसार करते हैं।
लूप स्टेटमेण्टस (Loop Statements)
लूप का शाब्दिक अर्थ फंदा या छल्ला होता है । लूप किसी कार्य को बार बार एक निश्चित समय तक दोहराने को विवश करता है । लूप स्टेटमेण्ट भी यही कार्य करता है। यह प्रोग्राम के किसी एक ब्लॉक को एक निश्चित समय तक दोहराता है। यह कार्य तब तक बार बार होता रहता है जब तक कि कडिशन सत्य रहता है । कडिशन के असत्य होने पर लूप समाप्त हो जाता है और लूप के बाद वाला स्टेटमेण्ट एक्ज़िक्यूट होता है । वी बी डॉट नेट में कई प्रकार से लूप का प्रयोग होता है।
लूपिंग स्टेटमेंट क्या होता है? – कंट्रोल स्टेटमेण्ट पार्ट-2 | What is loop statement with example? In Hindi
व्हाइल एण्ड व्हाइल लूप (While… End While Loop)
While… End While स्टेटमेण्ट का उपयोग आप तब करते हैं जब आप प्रोग्राम के एक विशेष भाग को बार बार तब तक दोहराना चाहते हैं जब तक कि कडिशन असत्य न हो जाय । इस का प्रारूप इस प्रकार होता है –
While <condition>
statements
End While
जहाँ condition से तात्पर्य वह व्यंजक है जिसका मान बूलियन (सत्य या असत्य) होता है। उदाहरण के लिए num < 10 का परिणाम सत्य या असत्य होगा। तथा स्टेटमेण्टस से तात्पर्य एक या एक से अधिक स्टेटमेण्ट हैं जो तब एक्ज़िक्यूट होगा जब कंडिशन का मान सत्य हो । तथा End While, While लूप को समाप्त करता है ।
उदाहरण- एक कंसोल एपलकेशन लिखें जो स्कीन पर 1 से 20 तक के मध्य सभी विषम संख्यायों को छापे ।
समाधान :
- File मेन्यू को क्लिक करें तथा New Project का चयन करें।
- New Project डायलॉग बॉक्स खुलने के पश्चात Templates पेन Console Application को क्लिक करें।
- Name टेक्स्टबॉक्स में My Project टाइप करें तथा OK को क्लिक करें। उसके बाद कोड एडिटर खुलेगा। यहाँ Sub Main) और End Sub के मध्य निम्नलिखित कोड लिखें-
dim num as integer = 1
while num <= 19
Console.WriteLine(num)
num = num + 2
End While
Console.ReadLine())
- F5 दबायें तथा परिणाम को जाँचें।
डू व्हाइल………..लूप (Do While…Loop)
Do While…Loop का उपयोग किसी भी प्रोग्रामिंग भाषा की तरह ही वी० बी० डॉट नेट में स्टेटमेंट के एक क्रम (sequence) को कई बार दोहराने के लिए होता है। प्रत्येक दोहराव (repetition) पर स्टेटमेण्ट उन वेरियेबल पर कार्य करते हैं जिनके मान बदलते रहते हैं। Do While स्टेटमेण्ट के क्रम को एक निश्चित समय तक दोहराता रहता है या फिर किसी खास कंडीशन के सत्य होने तक दोहराता रहता है।
Do While स्टेटमेण्ट के क्रम से पहले आता है तथा Loop स्टेटमेण्ट स्टेटमेण्ट के क्रम का अनुसरण करता है। उदाहरण के लिए निम्नलिखित-
Do while <कंडीशन>
स्टेटमेण्ट
Loop
में यह कंडीशन के सही मान का पता लगाता है। यदि कंडीशन गलत है तो लूप के अंदर का स्टेटमेण्ट एक्जिक्यूट नहीं होता है तथा प्रोग्राम Loop स्टेटमेण्ट के बाद लाइन के साथ क्रमशः रहता है। यदि कंडीशन सत्य हो जाता है तब लूप के अंदर का स्टेटमेण्ट एक्जिक्यूट होता है। Loop स्टेटमेण्ट के मिलने पर पूरी प्रक्रिया दोहरायी जाती है जो Do While स्टेटमेण्ट में कंडीशन की जाँच शुरू होता है। अन्य शब्दों में लूप के अंदर स्टेटमेण्ट तब तक बार-बार एक्जिक्यूट होता रहता है जब तक कंडीशन पूरा न हो जाय।
उदाहरण प्रोग्राम 1 से 10 तक स्क्रीन पर छापता है। इसके बाद एक संदेश देता है जो 1 to 10 is already printed छापता है। इसमें सबसे पहले num का मान 1 माना गया है। Do While के साथ एक कॉडेशन num <=10 है जिसका अर्थ यह है कि num का मान 10 या इससे कम होना चाहिए।
Console.WriteLine, num के प्रत्येक मान को स्कीन पर छापता है। सबसे पहले यह num का मान । छापता है। प्रोग्राम न छप जाय। 1 से 10 तक छपने के बाद एक्जिक्यूशन लूप से बाहर निकलता है और लूप के ठीक बाद प्रोग्राम के उस में अगले लाइन पर num+=1 num के मान में 1 जोड़ता है।
यह तब तक जोड़ता रहता है जब तक कि स्क्रीन पर 10 न छप जाय | लाइन 1 to 10 is already printed छपता है। Console. Read स्कीन को पढ़ने के लिए तब तक रोके रहता है जब तक आप एण्टर (Enter) की न दबा दें। इस प्रोग्राम से यह तो रूपष्ट है कि जब तक Do While का कडिशन पूरा नहीं हो जाता तब तक एक्जिक्यूशन लूप के बाहर नहीं आता।
उदाहरण- एक ऐसा कंसोल प्रोग्राम लिखें जो Do While … Loop का प्रयोग करते हुए स्कीन पर 1 से लेकर 10 तक छापे।
समाधान-
- File मेन्यू को क्लिक करें तथा New Project का चयन करें।
- New Project डायलॉग बॉक्स खुलने के पश्चात Templates पेन में Console Application को क्लिक करें।
- Name टेक्स्टबॉक्स में My Project टाइप करें तथा OK को क्लिक करें। उसके बाद कोड एडिटर खुलेगा। जहाँ इस कोड को लिखें –
Dim num As Integer = 1
Do While num <= 10
Console.WriteLine(num)
num += 1
Loop
Console.WriteLine(“1 to 10 is already printed”)
Console.Read()
F5 दबाएँ। आउटपुट दिखेगा।
डू अनटील लूप (Do Until Loop)
आपने देखा कि Do While स्टेटमेण्ट किसी सूप को तभी तक दोहराता है जब तक कि कंडीशन सत्य रहता है। उदाहरण के लिए 1 से 10 तक की संख्या को छापने के लिए दिया जाने वाला कोड – do while num < 10
तब तक संख्या को छापता रहता है जब तक कि num का कस मान 10 से नीचे या इसके बराबर तक रहता है। अर्थात Do While स्टेटमेण्ट सत्य रहता है। लेकिन कभी कभी आप किसी कार्य या फॉर्मूला को तब तक दोहराना चाहते होंगे जब तक कि कॅडिशन पूरा न हो। इस के लिए, आप Do Until स्टेटमेण्ट का प्रयोग कर सकते हैं।
इसका भी प्रारूप Do While की तरह ही लगता है तथा दोनों के मध्य अंतर केवल इसके कॉडिशन में होता है। इसका प्रारूप इस प्रकार होगा-
Do Until <condition>
statement to be executed
Loop
इसे यदि आप Do Until… Loop का उपयोग करके सम्पन्न करना चाहते हैं तो केवल Do While mum <= 10 के बदले Do Until >=10 कर दें।
डू… लूप व्हाइल (Do. Loop While)
Do… Loop While स्टेटमेण्ट While… End While स्टेटमेण्ट के समान है। केवल इसमें अंतर यह है कि While…End While स्टेटमेण्ट को तब तक एक्ज़िक्यूट करता रहता है जब तक कंडिशन सत्य रहता है। बाई डिफॉल्ट Do…Loop While स्टेटमेण्ट एक ही बार एक्ज़िक्यूट होता है चाहे परिणाम सत्य हो या असत्य हो ।
तथा तदुपरांत कॅडिशन का मूल्यांकन होता है। इसका प्रारूप यह है –
Do
statements
Loop While condition
डू … लूप अनटील (Do… Loop Until)
Do … Loop Until ब्लॉक में कंडीशन सामान्यतः लूप के शीर्ष पर अर्थात् स्टेटमेण्ट एक्जिक्यूट होने से पहले चेक होता है। विकल्प के रूप में, कंडीशन को लूप के सबसे नीचे भी चेक किया जा सकता है जब स्टेटमेंट Loop पर पहुँचता है। जब वी० बी० डॉट नेट में इस प्रकार का Do Loop स्वरूप होता है-
Do
Statement (s)
Loop Until condition
तब यह लूप के अंदर के स्टेटमेण्ट को एक्जिक्यूट करता है तथा फिर कंडीशन के सत्यमान (truth value) की जाँच करता है। यदि कंडीशन सत्य होता है तो प्रोग्राम Loop स्टेटमेण्ट के बाद के लाइन के साथ क्रमशः रहता है। यदि कंडीशन असत्य होता है तब पूरी प्रक्रिया Do स्टेटमेण्ट के शुरू से ही दोहरायी जाती है। दूसरे शब्दों में, लूप के अंदर के स्टेटमेण्ट एक बार एक्जिक्यूट होते हैं और फिर बार-बार तब तक एक्जिक्यूट होते रहते है जब तक कि कंडीशन सही न हो।
फॉर नेक्स्ट (For Next )
जब आप कोइ प्रोग्राम लिखते हैं तो आपको एक्शनों को बारम्बार दोहराने की आवश्यकता पड़ती है। उदाहरण के लिए, मान लिजिए कि आप कोइ फंक्शन लिख रहे हैं जो संख्यायों की एक सीरीज को स्क्रीन पर डिस्पले करता है। आप चाहेंगे कि कोड का वह लाइन दोहराया जाय जो संख्या को उतनी ही बार डिस्पले करे जितनी बार आवश्यक है।
For… Next लूप की सहायता से आप किसी विशेष एक्शन को एक संख्या देकर उसके दोहराव को सीमित कर सकते हैं। ऐसा करने पर वह उतनी ही बार होगा जितना आपने स्पष्ट किया है । इसका प्रारूप यह है
For counter [ As datatype] = start To end [ Step step ]
[ statements ]
[ Exit For ]
[ statements ]
Next [ counter ]
counter
For – स्टेटमेण्ट के लिए यह आवश्यक अवयव है। यह वह संख्यात्मक वेरिएबल है जो लूप को नियंत्रित करता है।
datatype – यह तब आवश्यक है जब आपने counter के डाटा को डिक्लेअर नहीं किया है।
start – यह भी आवश्यक अवयव है। यह न्यूमेरिक व्यंजक है जो counter का प्रारम्भिक मान होता है।
end – यह भी आवश्यक अवयव है। यह न्यूमेरिक व्यंजक है जो counter का अंतिम मान होता है।
step – यह एच्छिक है। यह वह व्यंजक होता है जो प्रत्येक संख्या के अनुसार counter को बढ़ाता है।
statements – यह भी वैकल्पिक है। इसे आप आवश्यकतानुसार रख सकते हैं। सामान्यतः इसका प्रयोग नहीं होता है। ये For तथा Next के मध्य स्पष्ट किए गए संख्या के अनुसार उतनी ही बार रन करता है।
Exit For – यह भी वैकल्पिक है। यह For लूप के बाहर कंट्रोल (control) को भेजता है।
Next – यह आवश्यक अवयव है। यह For लूप को समाप्त करता है।
उदाहरण के लिए इस प्रोग्राम को देखें-
Dim i As Integer
Fori = 1 To 10
Console. WriteLine (i)
Next
उपरोक्त कोड स्क्रीन पर 1 से 10 तक छापेगा। इसे उपरोक्त प्रारूप के अनुसार इस
For i as Integer = 1 To 10
Console. WriteLine (i)
Next
आप Next के बदले Nexti भी लिख सकते हैं।
अब यदि आप चाहते हैं कि कंट्रोल वेरिएबल लूप को एक संख्या (यथा 2) के आधार पर बढ़ाए अर्थात उपरोक्त प्रोग्राम में यह लूप केवल
5 बार ही चले तो इसमें Step जोड़ सकते हैं। इसका कोडिंग इस प्रकार होगा –
For i as Integer = 1 To 10 Step 2
Console. WriteLine (i)
Next
उपरोक्त कोड स्क्रीन पर यह आउटपुट देगा –
1
3
5
7
9
जैसे – (1 ) एक कंसोल एप्लिकेशन लिखें जो 2 का पहाड़ा स्क्रीन पर छापे।
समाधान :
- File मेन्यू को क्लिक करें तथा New Project का चयन करें।
- New Project डायलॉग बॉक्स खुलने के पश्चात Templates पेन में Console Application को क्लिक करें।
- Name टेक्स्टबॉक्स में My Project टाइप करें तथा OK को क्लिक करें। उसके बाद कोड एडिटर खुलेगा। जहाँ इस कोड को लिखें.
Dim i As Integer
For i = 2 To 20 Step 2
Console.WriteLine(i)
Next
Console.ReadLine()
- F5 दबाकर परिणाम को देखें।
Console.ReadLine) स्क्रीन पर आपको आपके परिणाम को देखने में सहायता करता है। यह तब तक आउटपुट स्क्रीन को
तब तक नहीं हटाता जब तक कि आप एण्टर (Enter) न दबाएँ।
जैसे – (2) एक कसोल एप्लिकेशन बनाएं जो आपके द्वारा इनपुट किए गए संख्या का पहाडा स्कीन पर छापे
समाधान :
- File मेन्यू को क्लिक करें तथा New Project का चयन करें।
- New Project डायलॉग बॉक्स खुलने के पश्चात Templates पेन में Console Application को क्लिक करें।
- Name टेक्स्टबॉक्स में My Project टाइप करें तथा OK को क्लिक करें। उसके बाद कोड एडिटर खुलेगा।
जहाँ इस कोड को लिखें
Dim i As Integer
Dim j As Integer
Console. Write (“Enter Integer of Table “)
J= CInt (Console. ReadLine ())
For I = J To j * 10 Step j
Console. WriteLine (i)
Next
Console.ReadLine()
F5 दबाकर परिणाम को प्रकट करें।
आज आपने क्या सीखा (What Did You Learn Today)
- स्टेटमेण्ट किसी प्रोग्रामिंग भाषा का सबसे छोटा अवयव होता है। इसका उपयोग प्रोग्राम एक्जिक्यूशन के दौरान किसी कार्य को सम्पन्न करने लिए कम्प्यूटर को सूचित करने के लिए होता है।
- कंट्रोल फ्लो उस क्रम को कहते हैं जिस क्रम में स्टेटमेण्ट एक्जिक्यूट होता है। वैसे स्टेटमेण्ट जो प्रोग्राम में एक्जिक्यूशन के फ्लो को नियंत्रित करते हैं कंट्रोल फ्लो स्टेटमेण्ट कहलाते है।
- कंट्रोल फ्लो स्टेटमेण्ट को मूलतः दो प्रकार निर्णयन स्टेटमेण्ट तथा लूप स्टेटमेण्ट में बांटा जा सकता है। If… Else प्रोग्राम को किसी विशेष कार्य जिसमें शर्त या तो सत्य होता है या असत्य के आधार पर कार्य करने देता है। यह एक प्रकार से आपके प्रोग्राम में इंटेलिजेन्स (intelligence) को जोड़ता है जिसमें परिस्थिति के अनुसार विकल्पों में से किसी को चयन करना होता है।
- If … ElseIf … Else कंट्रोल स्टेटमेण्ट If … Else का ही एक्स्टेंशन है। इसके माध्यम से आप ElseIf का प्रयोग कर दो या अधिक संभावित विकल्पों को जोड़ सकते हैं।
- नेस्टेड If ब्लॉक में एक If … End If के अंदर कई If … End If हो सकता है । इसीलिए इसे नेस्टेड If ब्लॉक कहा जाता है । इस ब्लॉक का उपयोग बहुत कम होता है क्योंकि यह थोड़ा जटिल है
- नेस्टेड If ब्लॉक के बदले आप साधारण If ब्लॉक का भी प्रयोग कर सकते हैं । ऐसा आप If ब्लॉक में AND ऑपरेटर को जोड़ कर कर सकते हैं ।
- Select Case का प्रयोग कर आप जितना चाहें उतने कंडिशनों को सहज रूप से उपयोग में ला सकते हैं जो उन स्थितियों में जहाँ कई विकल्प हैं को प्रयोग करना आसान बनाता है ।
- लूप का शाब्दिक अर्थ फंदा या छल्ला होता है । लूप किसी कार्य को बार बार एक निश्चित समय तक दोहराने को विवश करता है । लूप स्टेटमेण्ट भी यही कार्य करता है । यह प्रोग्राम के किसी एक ब्लॉक को एक निश्चित समय तक दोहराता है ।
- While… End While स्टेटमेण्ट का उपयोग आप तब करते हैं जब आप प्रोग्राम के एक विशेष भाग को बार बार तब तक दोहराना चाहते हैं जब तक कि कंडिशन असत्य न हो जाय ।
- Do White. Loop का उपयोग किसी भी प्रोग्रामिंग भाषा को कम (sequence) को कई बार दोहराने के लिए होता है। प्रत्येक
- लूप स्टेटमेण्ट का उपयोग करते समय आप सही खूप स्टेटमेण्ट का ही प्रयोग करें। स्टेटमेण्ट के एक सेट को अनिश्चितकालिन बार तक दोहराते हो तब While End While का उपयोग करें। यदि आपकशन को किसी विशेष स्थान पर तथा किसी विशेष परिणाम
के लिए जाँचना चाहते है तो Do..Loop स्टेटमेण्ट का प्रयोग करें। यदि आप किसी स्टेटमेण्ट को एक निश्चित समय तक के लिए दोहराना चाहते हैं तो For… Next स्टेटमेण्ट उत्तम होगा। - Do… Loop While स्टेटमेण्ट While..End While स्टेटमेण्ट के समान है। केवल इसमें अंतर यह है कि While..End While स्टेटमेण्ट को तब तक ज़क्यूट करता रहता है जब तक रहता है। वाई डिफॉल्ट Do…Loop While स्टेटमेण्ट एक ही बार एक्क्यूिट होता है चाहे परिणाम सत्य हो या असत्य हो ।
- Do… Loop Until ब्लॉक में कंडोशन सामान्यतः लूप के शीर्ष पर अर्थात स्टेटमेण्ट एक्जिक्यूट होने से पहले चेक होता है। विकल्प के रूप में, कडीशन को खूप के सबसे नीचे भी चेक किया जा सकता है जब स्टेटमेंट Loop पर पहुँचता है।
- For… Next लूप की सहायता से आप किसी विशेष एक्शन को एक संख्या देकर उसके दोहराब को सीमित कर सकते हैं। ऐसा करने पर वह उतनी ही बार होगा जितना आपने स्पष्ट किया है।