चर। आउटपुट स्वरूप


वैरिएबल
एक वेरिएबल कंप्यूटर मेमोरी में एक सेल होता है जिसका एक नाम होता है और जो इसके अनुरूप कुछ मान संग्रहीत करता है प्रकार।

शब्द "चर" हमें बताता है कि प्रोग्राम निष्पादन के दौरान इसका मूल्य बदल सकता है।  जब एक नया चर मान सहेजा जाता है, तो पुराना मिटा दिया जाता है।


एक कंप्यूटर के लिए, सभी जानकारी उसकी स्मृति में डेटा है - शून्य और एक के सेट (इसे सीधे शब्दों में कहें, तो कंप्यूटर में कोई भी जानकारी केवल संख्याएं होती है, और यह उन्हें उसी तरह संसाधित करती है)। हालाँकि, हम जानते हैं कि पूर्णांक और भिन्नात्मक संख्याएँ अलग-अलग तरीके से काम करती हैं। इसलिए, प्रत्येक प्रोग्रामिंग भाषा में विभिन्न प्रकार के डेटा होते हैं, जिन्हें अलग-अलग तरीकों का उपयोग करके संसाधित किया जाता है।

उदाहरण के लिए,
- पूर्णांक चर – टाइप int (अंग्रेज़ी पूर्णांक – पूरे से), मेमोरी में 4 बाइट्स रखें;
- वास्तविक वैरिएबल जिनका आंशिक भाग हो सकता है (टाइप <कोड>फ्लोट – अंग्रेजी फ्लोटिंग पॉइंट से – फ्लोटिंग पॉइंट) मेमोरी में 4 बाइट्स घेरते हैं;
- अक्षर (टाइप <कोड>चार – अंग्रेजी वर्ण से – प्रतीक), स्मृति में 1 बाइट भरते हैं।

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

एक उदाहरण के रूप में एक कार्यक्रम लेते हैं: <पूर्व> सिस्टम का उपयोग करना; वर्ग कार्यक्रम {     स्थिर शून्य मुख्य ()     {         इंट ए = 6, बी; // पूर्णांक प्रकार के दो चर घोषित किए गए, चर में तुरंत मान 6 सहेजा गया।   // वेरिएबल बी को इनिशियलाइज़ नहीं किया गया था; // इस मामले में स्मृति में क्या होगा, हम नहीं जानते।     } } एक कंप्यूटर की आवश्यकता नहीं होगी यदि उसकी स्मृति में विभिन्न सूचनाओं को संग्रहीत करने की क्षमता न हो और समान एल्गोरिदम का उपयोग करके उसी प्रकार की जानकारी को संसाधित करने में सक्षम न हो। 
अधिक दिलचस्प प्रोग्राम बनाने के लिए, कंप्यूटर की मेमोरी में जानकारी को स्टोर करना सीखना चाहिए। साथ ही, हमें यह सीखने की जरूरत है कि किसी तरह कंप्यूटर की मेमोरी सेल्स तक कैसे पहुंचा जाए। 
प्रोग्रामिंग में, जैसा कि जीवन में होता है, कंप्यूटर की मेमोरी के किसी हिस्से को संदर्भित करने के लिए, यह नाम से होता है। इस नाम का उपयोग करके, आप जानकारी पढ़ सकते हैं और उसे वहाँ लिख सकते हैं।

उदाहरण
अभाज्य संख्याओं के लिए एक कैलकुलेटर लिखने का प्रयास करते हैं।

हमारा काम स्क्रीन पर कुछ अंकगणितीय अभिव्यक्ति प्रदर्शित करना और कंप्यूटर को इसकी गणना करना है।
उदाहरण के लिए: 
5+7=12
इसके अलावा, प्रोग्राम में a और b के मानों के आधार पर 5 और 7 के बजाय अलग-अलग नंबर हो सकते हैं।

आउटपुट स्टेटमेंट में, आप न केवल पाठ, बल्कि चर के मान, साथ ही अंकगणितीय अभिव्यक्ति के परिणाम भी प्रदर्शित कर सकते हैं। इसके अलावा, आउटपुट अनुक्रम भिन्न हो सकता है। उदाहरण के लिए, उपरोक्त अभिव्यक्ति को प्रदर्शित करने के लिए, आपको इसे इस तरह लिखना होगा: <पूर्व> कंसोल.राइटलाइन (ए + "+" + बी + "=" + (ए + बी)); यदि हम एक चर के मान को प्रदर्शित करना चाहते हैं, तो हमें केवल उसका नाम बिना उद्धरण के निर्दिष्ट करना होगा। यदि हम एक अंकगणितीय व्यंजक का परिणाम प्रदर्शित करना चाहते हैं, तो केवल अंकगणितीय व्यंजक को सही ढंग से लिखना पर्याप्त है। कृपया ध्यान दें: 
वेरिएबल और टेक्स्ट को "+" ऑपरेटर द्वारा एक दूसरे से अलग किया जाता है, जबकि टेक्स्ट को कोट्स में लिखा जाता है, और वेरिएबल उनके बिना।
 

स्टेटमेंट दर्ज करें
उपयोगकर्ता को चर का मान स्वयं सेट करने में सक्षम होने के लिए, कीबोर्ड से मान दर्ज करने में सक्षम होना आवश्यक है। 
C# में दो वैल्यू इनपुट ऑपरेटर हैं: Console.Read(); and Console.ReadLine();
 
पढ़ें दर्ज किए गए मानों में से केवल एक वर्ण पढ़ता है, या -1 अगर पढ़ने के लिए और वर्ण नहीं बचे हैं। इसके अलावा, विधि एक पूर्णांक वर्ण कोड लौटाती है, इसलिए वर्ण चर प्राप्त करने के लिए, आपको Convert.ToChar() का उपयोग करके एक रूपांतरण करने की आवश्यकता है।
  <पूर्व> int x = कंसोल। पढ़ें (); // चरित्र कोड पढ़ें char a = Convert.ToChar (x); // प्राप्त कोड को वर्ण चर के मान में परिवर्तित करना  
ReadLine()  के साथ, आप एक नई लाइन दर्ज करने से पहले एक स्ट्रिंग अनुक्रम पढ़ सकते हैं। परिणामस्वरूप, विधि एक स्ट्रिंग वापस कर सकती है या null यदि कोई और स्ट्रिंग नहीं है।

उदाहरण के लिए, प्रविष्टि लाइन पढ़ती है: <पूर्व> स्ट्रिंगलाइन = कंसोल। रीडलाइन ();
एक पूर्णांक मान को पढ़ने के लिए, आपको स्ट्रिंग को पढ़ना होगा और इसे एक संख्या में बदलना होगा:
  <पूर्व> int a = int.Parse(Console.ReadLine());  
यदि संख्याएँ एक पंक्ति में जाती हैं, तो आपको रेखा की गणना करने की आवश्यकता है, & nbsp; और एक विभाजक के रूप में अंतरिक्ष चरित्र का उपयोग करके इससे तार की एक सरणी प्राप्त करें। और फिर सरणी का प्रत्येक तत्व एक संख्या में परिवर्तित हो जाता है: <पूर्व> स्ट्रिंग [] नंबर = कंसोल। रीडलाइन ()। स्प्लिट (' & # 39;); int a = int Parse (संख्या [0]); int b = int.Parse (नंबर [1]);

आउटपुट स्पेसिफायर
वास्तविक मूल्यों को आउटपुट करने के लिए, बस Console.Write या Console.WriteLine:
विधि को कॉल करें   डबल ए = 0.9999; कंसोल। राइट (ए);  
लेकिन कभी-कभी आपको मूल्यों के आउटपुट को पूर्व-प्रारूपित करने की आवश्यकता होती है, String.Format विधि का उपयोग करके ऐसा करना सुविधाजनक होता है, अधिक विवरण यहां
एक निश्चित सटीकता के साथ आउटपुट
भिन्नात्मक संख्याओं को स्वरूपित करने के लिए f विनिर्देशक का उपयोग किया जाता है, जिसके बाद की संख्या इंगित करती है कि विभाजक के बाद कितने वर्ण होंगे। डबल ए = 12.123; कंसोल.राइटलाइन (स्ट्रिंग.फॉर्मेट ("{0: f2}", ए)); परिणाम 12,12 होगा, लेकिन यदि आप 0.9999 मान का उपयोग करते हैं, तो अनियंत्रित गोलाई घटित होगी और   1.00

इसलिए, निम्न एल्गोरिद्म का उपयोग गोल करने के बजाय संकेतों को छोड़ने के लिए किया जाता है:
1) मूल मान को 10 से गुणा करें, जितनी बार आपको दशमलव स्थान छोड़ने की आवश्यकता है;
2)   Math.Truncate पद्धति का उपयोग करके, हम केवल पूर्णांक भाग छोड़ते हैं;
3) परिणामी मान को 10 से विभाजित करें, जितनी बार आपको दशमलव स्थानों को छोड़ने की आवश्यकता है।

दो दशमलव शुद्धता वाले आउटपुट का उदाहरण:  <दिव> डबल ए = 0.9999; a = a * Math.Pow(10, 2); ए = गणित। ट्रंकट (ए); a = a / Math.Pow(10, 2);
 
परिणाम आउटपुट करते समय विभाजक का प्रकार (डॉट या अल्पविराम) कंप्यूटर की क्षेत्रीय सेटिंग्स पर निर्भर करता है, इसलिए हमेशा विभाजक के रूप में एक अवधि का उपयोग करने के लिए, आपको क्षेत्रीय सेटिंग्स को invariant, परिणामी उदाहरण:
  <दिव> कल्चरइन्फो सीआई = न्यू कल्चरइन्फो(""); डबल ए = 0.9999; a = a * Math.Pow(10, 2); ए = गणित। ट्रंकट (ए); a = a / Math.Pow(10, 2); कंसोल.राइटलाइन (a.ToString (ci));