कंप्यूटर में प्रोग्रामिंग भाषा क्या है? | कम्प्यूटर की प्रोग्रामिंग भाषा क्या होता है |प्रोग्रामिंग भाषा क्या है इसके प्रकार | Computer Programming Language In Hindi
कम्प्यूटर की प्रोग्रामिंग भाषा का परिचय (Introduction) – किसी भी प्राकृतिक भाषा या आम बोल-चाल की भाषा में वर्ण, शब्द, वाक्यांश, वाक्य के अतिरिक्त एक विशेष व्याकरण होता है। व्याकरण हमें भाषा को शुद्ध बोलना और उसकी लिपि को लिखना सीखाता है। ठीक उसी प्रकार कम्प्यूटर की प्रोग्रामिंग भाषा के अपने वर्ण, शब्द, वाक्यांश तथा व्याकरण होते हैं। प्रोग्राम लिखते समय इन चीजों का ख्याल रखना अत्यंत आवश्यक होता है।
वेरियेबल (Variable)
वेरियेबल का शब्दिक अर्थ चर मतलब वैसा कुछ जो हमेशा बदलता हो, होता है। यह कम्प्यूटर में आपके रसोई में डिब्बे के समान होता है जिसमें कभी कुछ तो कभी कुछ रखते हैं। तकनीकी शब्दों में अगर कहें तो इसकी परिभाषा इस प्रकार होगी-
वेरियेबल प्रोग्राम से संबंधित सूचना का ऐसा धारक होता है, जो एक या अधिक मानों को संचित कर सकता है। जब कभी आपको प्रोग्राम में उपयोग किये जा रहे किसी सूचना को स्टोर करना होता है आप उसे वेरियेबल के रूप नाम दे सकते हैं। वेरियेबल का नाम सामान्यतः नहीं बदलता परन्तु प्रोग्राम के क्रियान्वयन के दौरान मान बदल सकने की संभावना होती है। वेरियेबल को आप किसी तालिका के कॉलम हेडिंग के रूप में भी समझ सकते हैं।
वेरियेबल के नाम तथा मान
ID | Names | Class | Dues |
1011 | Raju | V | 735 |
1012 | Sunita | IX | 420 |
1034 | Brijesh | X | 1725 |
1138 | Sunil | VI | 730 |
1188 | Sarvesh | III | 820 |
1189 | Priya | IV | 924 |
कम्प्यूटर की प्रोग्रामिंग भाषा- कंप्यूटर की पहली प्रोग्रामिंग भाषा कौन सी है? | Computer Programming Language Kya Hota Hai In Hindi
वेरियेबल के नामकरण नियम (Naming Conventions Of Variable)
वेरियेबल प्रोग्राम के क्रियान्वयन के दौरान मानों को स्टोर करते हैं। विजुअल बेसिक डॉट नेट में रनटाइम (क्रियान्वयन वेरियेबल का उपयोग डाटा को अस्थायी रूप से संचित करने में होता है। वेरियेबल का एक खास नाम तथा इसका डाट एक खास प्रकार का होता है। वेरियेबल के नाम का उपयोग वेरियेबल के मान को एक्सेस करने तथा मनिप्यूलेट करने में होता है।
वेरियेबल डाटा का प्रकार डाटा के उस प्रकार को निर्धारित करता है, जो वेरियेबल स्टोर कर सकता है। वेरियेबल का नाम प्रोग्राम में बहुत महत्वपूर्ण होता है इसलिए यह आवश्यक है कि आप इसका नाम देते हुए सावधानी बरतें। वेरियेबल के नाम के कुछ स्टैण्डर्ड नियम हैं, जो सामान्यतः सभी प्रोग्रामिंग भाषाओं में लगभग समान होते हैं। आइए देखते हैं कि इनके नियम क्या हैं-
- किसी भी वेरियेबल के नाम की शुरूआत किसी वर्ण के साथ अच्छा समझा जाता है। यद्यपि यदि आप वेरियेबल के नाम की शुरूआत किसी अंडरस्कोर () के साथ करते हैं, तो भी यह मान्य है, परन्तु यह अनुशंसित नहीं है इसका तर्क यह है कि वेरियेबल का नाम आसानी से पहचानने योग्य (recognizable) होना चाहिए।
- वेरियेबल के नाम में एल्फाबेट, न्यूमेरिक तथा अंडरस्कोर के अतिरिक्त विशेष अक्षर के नाम में श्वेत स्थान (white space) भी मान्य नहीं है।
- वेरियेबल के नाम में पास्कल केसिंग का उपयोग अच्छा समझा जाता है। हालांकि अनेक प्रोग्रामर कैमल केसिंग का भी प्रयोग करते हैं। EmpFirstName पास्कल केसिंग का उदाहरण है। (पास्कल तथा कैमल केसिंग के बारे में जानने के लिए चिंतन देखें )
- वेरियेबल का नाम ज्यादा लम्बा अनावश्यक रूप से प्रचलन में नहीं है।
- बेरियेबल का नाम बी.बी. डॉट नेट का कोई आरक्षित शब्द अर्थात् की-वर्ड नहीं होना चाहिए।
हालांकि उपरोक्त नियम उतना सख्त नहीं जितना कि किसी देश का पेनेल कोड जिसको न मानने पर कोई सजा हो जाए।
परन्तु यदि इन नियमों का पालन किया जाए तो प्रोग्राम में कई प्रकार की त्रुटियों से बचने के अलावा त्रुटि निवारण में मदद
प्राप्त कर सकते हैं। सारणी में कुछ मान्य तथा अमान्य वेरियेबल के नाम दिये गये हैं तथा उन्हें क्यों मान्य या अमान्य
समझा जाता है यह बताया गया है।
वेरियेबल के नाम | स्टेटस | कारण |
EmpFirstName Employee FirstName _EmpFirstName Emp_First_Name 01EmpFirstName Emp FirstName Dim/For Emp$First Name | मान्य/ अच्छा मान्य / अच्छा नहीं मान्य/ अच्छा नहीं मान्य/ अच्छा नहीं अमान्य अमान्य अमान्य अमान्य | छोटा एवं सभी प्रचलित नियमों का अनुकरण थोड़ा बड़ा employee के नाम पर emp का उपयोग हो सकता है। यह थोड़ा भ्रमित करने वाला है। यह थोड़ा भ्रमित करने वाला है। वेरियेबल का शुरूआती केरेक्टर न्यूमेरिक है। Emp के बाद रिक्त स्थान का उपयोग किया गया है। वी.बी. डॉट नेट के आरक्षित शब्द हैं। डॉलर चिन्ह का उपयोग किया गया है। |
वेरियेबल नामकरण नियम का सार यह है कि प्रोग्रामिंग के क्रियान्वयन के दौरान वेरियेबल का नाम आपको भ्रमित न करे तथा क्रियान्वयन त्रुटि रहित हो।
वेरियेबल डिक्लेअर करना (Declaring Variables)
वेरियेबल को डिक्लेअर करने का अर्थ है कि वेरियेबल का नाम क्या होगा तथा उसके डाटा का प्रकार क्या होगा। विजुअल बेसिक डॉट नेट में वेरियेबल को डिक्लेअर करने के लिए Dim की-वर्ड का उपयोग होता है। इसका सीधा सिन्टैक्स यह है-
Dim Variable [As Type]
यहाँ पर यह समझना आवश्यक होगा कि हम वेरियेबल का टाइप क्यों स्पष्ट करते हैं। वी.बी. डॉट नेट कुछ महत्वपूर्ण कारणो से आपको यह सलाह देता है कि आप वेरियेबल का टाइप भी डिक्लेअर करें। सबसे पहला कारण तो यह है कि आप जान लें कि कौन-सा वेरियेबल किस प्रकार के डाटा को संचित कर सकता है।
दूसरा इसका बड़ा लाभ यह है कि एक ही वेरियेबल में कई प्रकार के डाटा का संचय न हो जाय। और चूँकि वेरियेबल केवल नाम ही नहीं बल्कि यह मेमोरी प्रबंधन का भी एक हिस्सा है। अतः डाटा टाइप डिक्लेअर करने से यह फायदा होगा कि आप मेमोरी को कुशलपूर्वक व्यवस्थि कर पायेंगे क्योंकि अलग-अलग प्रकार के डाटा अलग-अलग स्थान मेमोरी में लेते हैं। उदाहरणार्थ निम्नलिखित स्टेटमेंट –
Dim EmpFirstName As String
वेरियेबल का नाम EmpFirstName तथा संचित डाय का प्रकार String डिक्लेअर करता है। अब मान लें कि वेरियेबल के डाटा का प्रकार डिक्लेअर करना आप भूल गये तो क्या होगा? जैसे यह स्टेटमेण्ट –
Dim EmpFirstName
वी.बी. डॉट नेट में जब हम किसी वेरियेबल का डाटा टाइप डिक्लेअर नहीं करते हैं, तो वी.बी. डॉट नेट उसे बाई डिफॉल Object टाइप असाइन कर देता है।
डाटा टाइप्स (Data Types )
जैसा कि आपने पिछले आर्टिकल में पढ़ा कि वी.बी डॉट नेट में वेरियेबल डिक्लेअर करते समय डाटा का प्रकार डिक्लेअर करना कितना महत्वपूर्ण है। मेमोरी प्रबंधन के साथ ही प्रोग्राम को डिबग करना आसान बनाने के लिए भी आवश्यक है आप वेरियेबल के डाटा प्रकार को सावधानी के साथ डिक्लेअर करें। सारणी में वी.बी डॉट नेट के डाटा टाइप को बताया गया है।
प्रश्न : मान लें कि आप कर्मचारी के उम्र के लिए वेरियेबल का नामकरण EmpAge करते हैं। बताइए कि इसके लिए कौन-सा डाटा उपयुक्त होगा?
उत्तर : इसके लिए सबसे उपयुक्त डाटा टाइप Byte होगा। इसका स्टेटमेण्ट इस प्रकार होगा।
Dim EmpAge As Byte
इसका कारण यह है कि आप बाइट का मान 0 से 225 तक रख सकते हैं तथा कर्मचारी के उम्र की सीमा भी इसी रेंज में होगी।
डाटा प्रकार (Data) Types) | मेमोरी में स्थान (Storage Space) | संख्या वे रेंज जो स्वीकृत है / विवरण (Accepted Range of numbers/Description) |
ऑब्जेक्ट (Object) | 4 या 8 बाइट (प्लेटफॉर्म के अनुसार बदलता है।) | किसी भी प्रकार से डाटा को स्टोर करने में होता है। |
इंटिजर (Integer) | 4 बाइट | –2, 147, 483, 648 से 2,147,647 तक। इसका उपयोग न्यूमेरिक डाटा को स्टोर करने में होता है। यह 32-बिट संख्या में स्टोर होता है। |
कैर (Char) | 2 बाइट | 0 से 65535 तक। इसका उपयोग हम कैरेक्टर को स्टोर करने में कर सकते हैं। |
तिथि (Date) | 8 बाइट | January 1,000, तथा December 31,9999 के मध्य में। इसका प्रयोग तिथि सूचना को स्टोर करने में होता है। |
दशमलव (Decimal) | 16 बाइट | +/-79, 228, 162, 514, 264, 337, 593, 543, 950, 335 किसी दशमलव बिन्दु के। +/-7.92281625142644375935439 50335 जिसमें दशमलव बिन्दु के दायीं ओर 28 स्थान हो सकते हैं। इसमें सबसे छोटी अशून्य संख्या +/-0.0000000000000000000000000001 है। इसका प्रयोग बहुत बड़े फ्लोटिंग प्वाईंट मानों को स्टोर करने में होता है। |
बाइट (Byte) | 1 बाइट | 0 से 255 तक। इसक उपयोग बाइनेरी डाटा को स्टोर करने में होता है। यह इसके कैरेक्टर मानों को न्यूमेरिक फॉर्मेट में भी स्टोर कर सकता है। |
बूलियन (Boolean) | प्लेटफॉर्म के अनुसार बदलता है। | सत्य (1) या असत्य (0)। इसका उपयोग वैसे डाटा को स्टोर करने में होता है जिनके मान केवल सत्य/असत्य ही हो सकते हैं। |
लाँग (Long) | 8 बाइट | -9, 223, 372, 036, 854, 775, 808, 9, 223, 372, 036, 854, 775, 807 तक। इसका प्रयोग न्यूमेरिक डाटा को स्टोर करने में होता है। लाँग डेटा 64-बिट संख्या के रूप में स्टोर होता है। |
शॉर्ट (Short) | 2 बाइट | -32, 768 से 32, 767 तक। इसका उपयोग न्यूमेरिक डाटा के छोटे रेन्ज को स्टोर करने में होता है। शॉर्ट डाटा चिन्हित (Signed) 16 -बिट संख्या को स्टोर करने में होता है। |
यूशॉर्ट (UShort) | 2 बाइट | 0 से 65, 535 तक। इसका उपयोग अनसाइन्ड न्यूमेरिक डाटा के छोटे रेन्ज को स्टोर करने में होता है। |
एसबाइट (SByte) | 1 बाइट | – 128 से लेकर 127 । इसका प्रयोग साइन्ड (signed) इंटिजर डाटा को स्टोर करने में होता है। |
स्ट्रिंग (String) | प्लेटफॉर्म के अनुसार बदलता है। | 0 से 20 करोड यूनिकोड कैरेक्टर तक। इसका प्रयोग अल्फा न्यूमेरिक डाटा को स्टोर करने में होता है। |
यूइंटिजर (UInteger) | 4 बाइट | 0 से लेकर 4,294,967,295 । इसका प्रयोग अनसाइन्ड (unsigned) इंटिजर डाटा को स्टोर करने में होता है। |
यूलॉग (ULong) | 8 बाइट | 0 से लेकर 18,446,744,073,709,551,615 (1.8…E+19 )। इसका प्रयोग अत्यंत बड़े अनसाइन्ड (unsigned) इंटिजर डाटा को स्टोर करने में होता है। |
सिंगल (Single) | 4 बाइट | -3.402823E + 38 से 1.401298E 45 (ऋणात्मक संख्याएँ) 1.401298E 45 से 3.402823E38 (धनात्मक संख्याएँ) । इसका प्रयोग सिंगल प्रिसिष्ठान फ्लोटिंग प्वाइन्ट मानों को स्टोर करने में होता है। |
डबल (Double) | 8 बाइट | -1.79769313486231E+ से 4.94065645841247E-324 (ऋणात्मक संख्याएँ) तथा 4.94065645841247E-324 से 1.79769313486232E308 (ऋणात्मक संख्याएँ) । इसका उपयोग बड़ी फ्लोटिंग प्वाइंट संख्याओं को स्टोर करने में होता है। |
वैज्ञानिक नोटेशन में E10 के घात को व्यक्त करता है । अतः 1.10E+2 का अर्थ 1.10×102 या 110 होगा तथा 1.10E-2 का अर्थ 1.10/102 या 0.0110 होगा।
प्रश्न : मुद्रा डाय (Currency) क्या वी.बी. डॉट नेट में उपलब्ध है? अगर नहीं तो मुद्रा को हम कैसे वी.बी. डॉट नेट में संचित करेंगे।
उत्तर : बी.बी. डॉट नेट में मुद्रा डाटा टाइप वी.बी. 6 की तरह उपलब्ध नहीं है। इसमें आप Decimal डाटा टाइप का प्रयोग मुद्रा को असाइन करने के लिए करते हैं।
आइडेन्टिफायर टाइप कैरैक्टर – वी. बी. डॉट नेट में डाटा टाइप डिक्लेअर करने का एक अनोखा तरीका (Identifier Type Character – A unique way to declaring data types in VB.Net)
वी.बी. डॉट नेट में डाटा के प्रकार को डिक्लेअर करने का एक अनोखा तरीका है। इसे आइडेन्टिफायर टाइप कैरैक्टर कहते हैं। मान लें कि आप जल्दी में है और प्रोग्रामिंग में थोड़ा कम टाइपिंग चाहते हैं, तो यह तरीका उपयोगी हो सकता है। हालाँकि तरीका आपको भ्रमित करने वाला भी हो सकता है। क्योंकि कौन-सा चिन्ह किस डाटा टाइप को निरूपित करता है यह याद करना होगा। दूसरा कि यह तरीका कुछ खास डाटा टाइप के लिए ही है। सारणी में डाटा टाइप को निरूपित करने वाले चिन्ह को दर्शाता है।
डाटा प्रकार (Data Types) | चिन्ह (Symbols) |
दशमलव (Decimal) डबल (Double) इंटिजर (Integer) लाँग (Long ) सिंगल (Single) स्ट्रिंग (String) | @ # % & ! $ |
उदाहरण के लिए आपको
Dim a As Integer
के बदले
Dim a%
ही लिखना काफी होगा।
इसी प्रकार Dim EmpName As String
के बदले केवल
Dim EmpName$
काम करेगा।
और अगर आपको दो स्ट्रिंग वेरियेबल एक साथ डिक्लेअर करना है, तो क्या करेंगे? घबड़ाइए मत। इसके लिए आपको दो प्रकार उस चिन्ह को इस प्रकार लिखना होगा-
Dim EmpFirstName$, EmpLastName$
Boolean, Byte, Char, Date, Object, SByte, Short, UInteger तथा ULong के बदले कोइ आइडेन्टिफायर टाइप कैरैक्टर नहीं होता है। आप आइडेन्टिफायर टाइप कैरैक्टर का प्रयोग फंक्शन के साथ भी कर सकते हैं। उदाहरण के लिए add फंक्शन में $ जोड़ कर उसका मान स्टिंग में प्राप्त कर सकते हैं।
पास्कल तथा कैमल केसिंग से क्या हैं ?
माइक्रोसॉफट डिज़ायन नियमावली के अनुसार फील्ड के नाम कैमल केसिंग में तथा प्रॉपर्टी के नाम पास्कल केसिंग में लिखना प्रचलन में है । पास्कल केस में आइडेन्टिफायर का प्रत्येक शब्द का प्रथम वर्ण बड़ा होता है तथा कैमल केस मेंप्रत्येक शब्द का प्रथम वर्ण छोटा होता है। EmpName पास्कल केसिंग तथा empName कैमल कीसंग का उदाहरण है।
सामान्य नियम के अनुसार पास्कल केसिंग का उपयोग पैरामीटर तथा प्राइवेट या प्रोटेक्टेड फील्ड को छोड़कर कहीं भी हो सकता है तथा कैमल केसिंग का उपयोग पैरामीटर तथा प्राइवेट या प्रोटेक्टेड फील्ड के लिए ही होता है। इसीलिए जब हम field लिखते हैं तो वह फील्ड का सूचक होता है जबकि Field प्रॉपर्टी को सूचित करता है।
फोर्सिंग वेरियेबल डिक्लेअरेशन करना (Forcing Variable Declaration)
OPTION EXPLICIT स्टेटमेण्ट यह सुनिश्चित करता है कि कम्पाइलर को स्पष्ट रूप से सभी वेरियेबल को प्रोग्राम में उपयोग करने से पहले डिक्लेअर करने की आवश्यकता है अथवा नहीं । OPTION EXPLICIT का दो मोड ON या OFF होता है । यदि OPTION EXPLICIT ऑन मोड में है तो आपको बेरिएबल को प्रोग्राम में उपयोग करने से पहले उनहें डिक्लेअर करना आवश्यक होगा। यदि आप ऐसा नहीं करते हैं तो अनडिक्लेअर्ड बेरिएबल के लिए कम्पाइल टाइम त्रुटि प्रकट होगा ।
यदि OPTION EXPLICIT ऑफ है तो वी बी डॉट नेट वेरिएबल अनडिक्लेअर्ड रहने पर स्वयं ही वेरिएबल का निर्माण कर देता है । बाई डिफॉल्ट OPTION EXPLICIT ऑन होता है । OPTION EXPLICIT को ऑन मोड में रख कर आप संभावित त्रुटि को कम कर सकते हैं जो वेरिएबल के नाम में गुलती के फलस्वरूप होता है। क्योंकि OPTION EXPLICIT यदि ऑन मोड में है तो आपको डाटा को स्टोर करने के लिए प्रोग्राम में प्रत्येक वेरिएबल को डिक्लेअर करना होता है।
उदाहरण के लिए निम्न प्रोग्राम को देखें –
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, –
ByVal e As System. EventArgs) Handles Button1.Click
Dim str As String
str = “Option Explicit ON”
MsgBox (str)
End Sub
End Class
उपरोक्त प्रोग्राम एक स्ट्रिंग वेरिएबल को डिक्लेअर करता है तथा इसको मान असाइन करता है तथा इसे डिस्पले करता है। अब यदि आप चाहते हैं कि वेरिएबल डिक्लेअर किए बगैर वी बी डॉट नेट वेरिएबल का निर्माण कर दे तो आपको OPTION EXPLICIT OFF का प्रयोग करना होगा। इसी को बलपूर्व वेरियेबल डिक्लेअरेशन करना कहते हैं। उदाहरण के लिए निम्न प्रोग्राम को देखें –
OPTION EXPLICIT OFF
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object,_
ByVal e As System. EventArgs) Handles Button1. Click
Dim str As String
str = “Option Explicit ON”
MsgBox (str)
End Sub
End Class
जब आप इस प्रोग्राम को रन करेंगे तो कोइ त्रुटि नही मिलेगी। परंतु जैसे ही आप इसमें से OPTION EXPLICIT OFF को हटा देंगे तो त्रुटि प्रकट हो जायगा।
वेरियेबल स्कोप (Scope of a Variable)
स्कोप किसी प्रोग्रामिंग भाषा का वह एट्रिब्यूट होता है, जो प्रोग्राम के अंदर वेरियेबल की एक्सेसिबिलिटी (accessibility) को डिजाइन करता है। इसका अर्थ यह है कि कौन-सा वेरियेबल प्रोग्राम के किस हिस्से के लिए एक्सेस योग्य है, स्कोप यह तय करता है। कोई वेरियेबल किसी एक ब्लॉक के लिए सीमित हो सकता है, कोई वेरियेबल किसी प्रॉसीजर के द्वारा भी एक्सेस किया जा सकता है, तो कोई वेरियेबल पूरे मॉड्यूल तथा कोई प्रोजेक्ट के लिए भी उपलब्ध हो सकता है।
वेरियेबल स्कोप पूरी तरह से आपकी आवश्यकता पर निर्भर करता है। मान लें कि आप किसी ऐसे वेरियेबल को डिक्लेअर कर रहे हैं जिसकी आवश्यकता आपको किसी खास ब्लॉक के लिए सीमित है। ब्लॉक किसी प्रोग्राम का सबसे छोटा भाग होता है। अगर हम उस वेरियेबल को ब्लॉक के बाहर एक्सेसिबल बना देते हैं, तो स्वाभाविक है कि प्रोग्राम में त्रुटि आएगी।
जैसे इस ब्लॉक को देखें-
If A <B Then
Dim message As String
Message = “B is greater than A”
TextBox1. Text = Message
End If
उपरोक्त प्रोग्राम में जो message नामक वेरियेबल को डिक्लेअर किया गया है उसकी प्रासंगिकता उपरोक्त IF…..END. IF ब्लॉक में ही समाप्त हो गया। इस तरह के स्कोप आम तौर पर कंट्रोल फ्लो स्टेटमेण्ट के साथ ही प्रयोग होते हैं। ब्लॉक में आगे यदि वेरियेबल की एक्सेसिबिलिटी आप चाहते हैं, तो पूरे एक प्रॉसीजर के लिए वेरियेबल की एक्सेसिबिलिटी डिफाइन कर सकते हैं। प्रोसीजर किसी बड़े प्रोग्राम का एक भाग होता है जिसे उप प्रोग्राम (Sub program) भी कहा जाता है तथा एक कार्य को सम्पन्न करता है। उदाहरणार्थ किसी बड़े प्रोजेक्ट (एक पूरा प्रोग्राम) के अंदर प्रिंटिंग कार्य को पूरा करना। उदाहरण के लिए, इस प्रोग्राम को देखें-
Private Sub btncompute_Click (…) Handles btncompute. Click
Dim X, Y As Double
X = CDbl (txtFirstName . Text)
Y = CDbl (txtSecondNum Text)
Sum (X, Y)
End Sub
उपरोक्त प्रोग्राम एक इवेण्ट हैण्डलर प्रोग्राम या एक प्रोसीजर है जिसके अंदर X और Y दो वेरियेबल हैं। इन दोनों की एक्सेसिबिलिटी केवल इस प्रोसीजर के अंदर ही सीमित है।
वी.बी डॉट नेट में प्रोसीजर के बाहर भी वेरियेबल डिक्लेअर हो सकता है जिससे वेरियेबल एक से अधिक प्रोसीजर को उपलब्ध हो सकता है। यदि आप ऐसा करना चाहते हैं, तो दो अन्य की-वर्ड Public तथा Private या प्रयोग कर सकते हैं।
Public वेरियेबल पूरे एप्लीकेशन में उपलब्ध रहता है। ये ग्लोबल वेरियेबल होते हैं, जो पूरे एप्लीकेशन में जुड़े होते हैं। वेरियेबल का प्रयोग बचते हुए किया जाना अच्छा होता है। लेकिन ये तब उपयोगी होते हैं जब आपको ऐसे कुछ मान की आवश्यकता होती है जिसका प्रयोग प्रोग्राम में कई जगहों पर यथा डाटाबेस या फाइल के साथ संयोजन में होगा। Private कीवर्ड का प्रयोग डिक्लेअरेशन स्टेटमेण्ट में यह स्पष्ट करता है कि इसके एलिमेण्ट केवल मॉडयूल, क्लास या स्ट्रक्चर के अंदर ही एक्सेसिबल हैं।
आप Private का उपयोग केवल मॉडयूल लेवल पर ही कर सकते हैं। इसका अर्थ यह है कि आप प्राइवेट वेरियेबल को केवल मॉडयूल, क्लास या स्ट्रक्चर के अंदर ही डिक्लेअर कर सकते हैं तथा इनहें सोर्स फाइल या नेमस्पेस स्तर पर, किसी इंटरफेस या किसी प्रॉसीजर के अंदर नहीं कर सकते हैं । मॉडयूल स्तर पर यदि आप किसी एक्सेस स्पेसिफायर का प्रयोग नहीं करते हैं तो इसका मतलब बाई डिफॉल्ट Private ही होता है । परन्तु यदि आप Private का प्रयोग करे अच्छा है। इससे कोड को समझना आसान हो जाता है ।
स्कोप की सहायता से उस डाटा को अलग करते हैं, जो हमारे एप्लीकेशन का प्रोसीजर काम में लाता है। बेसिक के बहुत पुराने संस्करणों में स्कोप के लिए क्षमता नहीं थी। तथा सभी वेरियेबल प्रोग्राम के सभी हिस्सों से एक्सेस किये जाने के साथ ही बदले जा सकते थे। इसका नकारात्मक पक्ष यह था कि आप मान लिखने में कभी भी गलती कर देते, जो त्रुटि का कारण हो जाता था।
वेरियेबल का लाइफटाइम (Lifetime of a Variable)
वेरियेबल का लाइफटाइम वह समय होता है जिसके दौरान वे उपलब्ध रहते हैं। इस उद्देश्य के लिए कम्पाइलर प्रोसीजर, पैरामीटर तथा फंक्शन रिटर्न को वेरियेबल के खास मामलों की तरह समझता है। वेरियेबल का लाइफटाइम समय के उस अवधि को व्यक्त करता है जिसके दौरान यह कोई मान रखता है। इसके मान पूरे लाइफटाइम से बदलते हैं परन्तु इसमें हमेशा कुछ न कुछ मान रहता है।
मेम्बर वेरियेबल (किसी प्रोसीजर के बाहर मॉड्यूल स्तर पर घोषित) में लाइफटाइम उस अवयव के समान होता है जिसमें यह डिक्लेअर किया जाता है। एक नॉन-शेयर्ड (जिसे किसी के साथ साझा न किया गया हो) वेरियेबल जो किसी क्लास अथवा स्ट्रक्चर मे डिक्लेअर किया गया हो क्लास अथवा स्ट्रक्चर के प्रत्येक इंस्टैन्स के लिए एक अलग कॉपी के रूप में उसी में विद्यमान रहता है जिसमें इसे डिक्लेअर किया गया है। इस प्रकार का प्रत्येक वेरियेबल अपने इंस्टैन्स के रूप में समान लाइफटाइम रखता है। किन्तु शेअर्ड वेरियेबल एक ही लाइफटाइम रखता है, जो पूरे समय तक चलता है।
कॉन्स्टैण्ट (Constant)
कॉन्स्टैण्ट वेरियेबल के समान ही होते हैं किन्तु कॉन्स्टैण्ट के मान प्रोग्राम के एक्जिक्यूशन के समय बदलते नहीं है। इसीलिए इन्हें हिन्दी में अचर (न बदलने वाला) कहते हैं। वी.बी. डॉट नेट में हम कॉन्स्टैण्ट को Const की-वर्ड के साथ डिक्लेअर करते हैं। उदाहरण के लिए, निम्नलिखित कोडिंग को देखें-
Module ABC
Sub main()
Const Pi = 3.14159
Dim Radius, Area As Single
Radius = 1
Area = Pi* Radius *Radius
WriteLine (“Area =” & Str (Area))
End sub
End Module
उपरोक्त कोडिंग में Pi नामक एक कॉन्स्टैण्ट बनाया गया है साथ ही दो वेरियेबल Radius तथा Area हैं। इसका अर्थ यह है कि Pi का मान किसी भी स्थिति में बदला नहीं जाऐगा।
इन्यूमरेशन (Enumeration)
कॉन्स्टैण्ट तथा इन्यूमरेशन कुछ–कुछ संबंधित है। मान लें कि आपको किसी प्रोग्राम में ढेर सारे उदाहरणार्थ पचास-सौ कॉन्स्टैण्ट डिफाइन करना है और आप उन्हें छोटे-छोटे फंक्शन समूहों में बांटना चाहते हैं, तो क्या आप यह नहीं चाहेंगे कि वी.बी. डॉट नेट में कोई ऐसा फीचर हो जो इसका उपाय करे। वी.बी. डॉट नेट में इसके लिए इन्यूमरेशन (Enumeration) फीचर है। इन्यूमरेशन नाम वाला कॉन्स्टैण्ट (named constant) होता है। इसे आप कॉन्स्टैण्ट का मान सेट भी कह सकते हैं। ये वह मान होते हैं, जो पूरे प्रोग्राम में अनोखे होते हैं तथा इन मानों को ग्लोबल रूप से पहचाना जा सकता है। ये कॉन्स्टैण्ट संख्यात्मक मानों को अर्थपूर्ण नाम देते हैं।
आमतौर पर इन्यूमरेशन का प्रयोग एक विशेष वेरियेबल के लिए मानों के सभी संभावित सेट को इकट्ठा करने में होता है। प्रत्येक इन्यूमरेशन को एक अनोखा नाम दिया जाता है जिसके साथ इसे एक्सेस किया जाता है। यह एक ऐसा विकल्प है जिसका प्रयोग आप ऐसे मानों के सेट को याद करने में करते हैं, जो प्रोग्राम में कहीं भी प्रयोग किये जा सकेंगे। इन्यूमरेशन को बनाने के लिए Enum की-वर्ड का प्रयोग होता है। इन्यूमरेशन एक वैल्यू डाटा टाइप होता है। प्रत्येक इन्यूमरेशन का एक अंतर्निहित संख्यात्मक बेस डाटा टाइप होता है, जो न्यूमेरिक होता है। इन्यूमरेशन का सिन्टैक्स इस प्रकार होता है-
Enum <<enumname>>
<member1>> = [value]
<member2> = [value]
End Enum
उदाहरण के लिए, महीनों के नाम के लिए आप इस प्रकार इन्यूमरेशन बना सकते हैं-
Module NameMonth
Enum Months
January
February
March
April
May
June
July
August
September
October
November
December
End Enum
End Module
उपरोक्त कोडिंग में इन्यूमरेशन का नाम Months है। हालांकि इन्यूमरेशन सदस्य के लिए हमने इसमें कोई संख्यात्मक मान असाइन नहीं किया है। मान असाइन न करने की स्थिति में वी.बी डॉट नेट बाई डिफॉल्ट 0 से मान असाइन करना शुरू कर देता है। अर्थात् January का मान 0 से शुरू होकर December का मान 11 तक होगा। हम इस कोडिंग को इस तरह भी लिख सकते हैं-
Module NameMonth
Enum Months
January = 5
February = 10
March = 15
April = 20
May = 25
June = 30
July = 35
August = 40
September = 45
October = 50
November = 55
December = 6
End Enum
End Module
इससे हम रैण्डम मान भी दे सकते हैं। इसे समझने लिए इस कोडिंग को देखें-
Module NameMonth
Enum Months
January
February
March = 5
April
May
July
August
September
October
November
December
End Enum
End Module
अब देखेंगे कि इसका संख्यात्मक मान किस प्रकार होगा। उपरोक्त कोडिंग के अनुसार January का नाम डिफॉल्ट विधि से 0 तथा February का मान 1 होगा। तथा March का मान 5, April, May, July, August, September, October, November और December का मान क्रमश: 6, 7, 8, 9, 10, 11, 12, 13 और 14 होगा।
आओ सीखें – एक कंसोल प्रोग्राम लिखें जो इन्यूमरेशन का प्रयोग क्लास, संख्या, प्रोसीजर या ब्लॉक लेवल पर कैसे हो इसको दर्शाए।
समाधान :
- File मेन्यू को क्लिक करें तथा New Project का चयन करें।
- New Project डायलॉग बॉक्स खुलने के पश्चात Templates पेन में Console Application को क्लिक करें।
- Name टेक्स्टबॉक्स में My Project टाइप करें तथा OK को क्लिक करें। उसके बाद कोड एडिटर खुलेगा। इसके बाद निम्नलिखित कोड टाइप करें
Module Module 1
Public Enum Months
January
February
march
April
May
July
August
September
October
November
December
End Enum
Dim number As Integer
Dim int Input As Integer
Public Function Get Month () As Months
System.Console.WriteLine(“Enter an Integer…”)
intInput = Val (System. Console. ReadLine ( ) )
If intInput < 4 Then
System.Console.WriteLine(“This is winter in India.”)
ElseIf intInput < 9 Then
System.Console.WriteLine(“This is Summer in India.”)
ElseIf intInput < 12 Then
System.Console.WriteLine(“This is autumn in India.”)
Else
System.Console.WriteLine(“No Known Number.”)
End If
System.Console.ReadLine()
End Function
Sub Main ( )
GetMonth ( )
End Sub
End Module
F5 दबाएं और परिणाम देखें।
आज आपने क्या सीखा (What Did You Learn Today)
- किसी भी प्राकृतिक भाषा या आम बोल-चाल की भाषा में वर्ण, शब्द, वाक्यांश, वाक्य के अतिरिक्त एक विशेष व्याकरण होता है। व्याकरण हमें भाषा को शुद्ध बोलना और उसकी लिपि को लिखना सीखाता है। ठीक उसी प्रकार कम्प्यूटर की प्रोग्रामिंग भाषा के अपने वर्ण, शब्द, वाक्यांश तथा व्याकरण होते हैं। प्रोग्राम लिखते समय इन चीजों का ख्याल रखना अत्यंत आवश्यक होता है।
- वेरियेबल का शब्दिक अर्थ चर मतलब वैसा कुछ जो हमेशा बदलता हो, होता है।
- वेरियेबल प्रोग्राम से संबंधित सूचना का ऐसा धारक होता है, जो एक या अधिक मानों को संचित कर सकता है। जब कभी आपको प्रोग्राम में उपयोग किये जा रहे किसी सूचना को स्टोर करना होता है आप उसे वेरियेबल के रूप में एक नाम दे सकते हैं।
- वेरियेबल प्रोग्राम के क्रियान्वयन के दौरान मानों को स्टोर करते हैं। विजुअल बेसिक डॉट नेट में रनटाइम (क्रियान्वयन) वेरियेबल का उपयोग डाटा को अस्थायी रूप से संचित करने में होता है।
- वेरियेबल का एक खास नाम तथा इसका डाटा एक खास प्रकार का होता है। वेरियेबल के नाम का उपयोग वेरियेबल के मान को एक्सेस करने तथा मनिप्यूलेट करने में होता है।
- किसी भी वेरियेबल के नाम की शुरूआत किसी वर्ण के साथ अच्छा समझा जाता है। यद्यपि यदि आप वेरियेबल के नाम की शुरूआत किसी अंडरस्कोर () के साथ करते हैं, तो भी यह मान्य है, परन्तु यह अनुशंसित नहीं है।
- वेरियेबल के नाम में एल्फाबेट, न्यूमेरिक तथा अंडरस्कोर के अतिरिक्त विशेष अक्षर के नाम में श्वेत स्थान (white space) भी मान्य नहीं है।
- वेरियेबल के नाम में पास्कल केसिंग का उपयोग अच्छा समझा जाता है। हालांकि अनेक प्रोग्रामर कैमल केसिंग का भी प्रयोग करते हैं। EmpFirstName पास्कल केसिंग का उदाहरण है।
- वेरियेबल का नाम ज्यादा लम्बा अनावश्यक रूप से प्रचलन में नहीं है।
- वेरियेबल का नाम वी.बी. डॉट नेट का कोई आरक्षित शब्द अर्थात् की-वर्ड नहीं होना चाहिए।
- वेरियेबल नामकरण नियम का सार यह है कि प्रोग्रामिंग के क्रियान्वयन के दौरान वेरियेबल का नाम आपको भ्रमित न करे तथा क्रियान्वयन त्रुटि रहित हो।
- वेरियेबल को डिक्लेअर करने का अर्थ है कि वेरियेबल का नाम क्या होगा तथा उसके डाटा का प्रकार क्या होगा विजुअल बेसिक डॉट नेट में वेरियेबल को डिक्लेअर करने के लिए, Dlm की-वर्ड का उपयोग होता है।
- मेमोरी प्रबंधन के साथ ही प्रोग्राम को डिबग करना आसान बनाने के लिए आवश्यक है कि आप रिल डाटा प्रकार को सावधानी के साथ डिक्लेअर करें।
- वैज्ञानिक नोटेशन में B 10 के घात को व्यक्त करता है। अतः 1.10B+2 का अर्थ 1.10 X 102 या 110 तथा 1.10E-2 का अर्थ 1.10 / 102 या 0.0110 होगा ।
- बी.बी. डॉट नेट में मुद्रा डाटा टाइप बी.बी. 6 की तरह उपलब्ध नहीं है। इसमें आप Decimal डाय यह का प्रयोग मुद्रा को असाइन करने के लिए करते हैं।
- वी.बी. डॉट नेट में डाटा के प्रकार को डिक्लेअर करने का एक अनोखा तरीका है। इसे आइडेन्टिफायर म कैरैक्टर कहते हैं ।
- माइकोसॉफट डिज़ायन नियमावली के अनुसार फील्ड के नाम कैमल केसिंग में तथा प्रॉपर्टी के नाम पास्कल केसिंग में लिखना प्रचलन में है। पास्कल केस में आइडेन्टिफायर का प्रत्येक शब्द का प्रथम वर्ण बड़ा होता है तथा कैमल केस मेंप्रत्येक शब्द का प्रथम वर्ण छोटा होता है । EmpName पास्कल केसिंग तथा empName कैमल कीसंग का उदाहरण है ।
- OPTION EXPLICIT स्टेटमेण्ट यह सुनिश्चित करता है कि कम्पाइलर को स्पष्ट रूप से सभी वेरियेबल को
प्रोग्राम में उपयोग करने से पहले डिक्लेअर करने की आवश्यकता है अथवा नहीं । - OPTION EXPLICIT का दो मोड ON या OFF होता है। यदि OPTION EXPLICIT ऑन मोड में है तो आपको वेरिएबल को प्रोग्राम में उपयोग करने से पहले उनहें डिक्लेअर करना आवश्यक होगा ।
- बाई डिफॉल्ट OPTION EXPLICIT ऑन होता है। OPTION EXPLICIT को ऑन मोड में रख कर आप संभावित त्रुटि को कम कर सकते हैं जो वेरिएबल के नाम में गलती के फलस्वरूप होता है।
- स्कोप किसी प्रोग्रामिंग भाषा का वह एट्रिब्यूट होता है, जो प्रोग्राम के अंदर वेरियेबल की एक्सेसिबिलिटी (accessibility) को डिजाइन करता है। इसका अर्थ यह है कि कौन-सा वेरियेबल प्रोग्राम के किस हिस्से के लिए एक्सेस योग्य है, स्कोप यह तय करता है।
- Public वेरियेबल पूरे एप्लीकेशन में उपलब्ध रहता है। ये ग्लोबल वेरियेबल होते हैं, जो पूरे एप्लीकेशन में जुड़े होते हैं।
- Private कीवर्ड का प्रयोग डिक्लेअरेशन स्टेटमेण्ट में यह स्पष्ट करता है कि इसके एलिमेण्ट केवल मॉडयूल क्लास या स्ट्रक्चर के अंदर ही एक्सेसिबल हैं |
- वेरियेबल का लाइफटाइम वह समय होता है जिसके दौरान वे उपलब्ध रहते हैं। इस उद्देश्य के लिए कम्पाइलर प्रोसीजर, पैरामीटर तथा फंक्शन रिटर्न को वेरियेबल के खास मामलों की तरह समझता है।
- कॉन्स्टैण्ट वेरियेबल के समान ही होते हैं किन्तु कॉन्स्टैण्ट के मान प्रोग्राम के एक्जिक्यूशन के समय बदलते नहीं है। इसीलिए इन्हें हिन्दी में अचर (न बदलने वाला) कहते हैं।
- आमतौर पर इन्यूमरेशन का प्रयोग एक विशेष वेरियेबल के लिए मानों के सभी संभावित सेट को इकट्ठा करने में होता है। प्रत्येक इन्यूमरेशन को एक अनोखा नाम दिया जाता है जिसके साथ इसे एक्सेस किया जाता है।