Module: (C++) सबरूटीन्स: प्रक्रियाएं और कार्य - 1


Problem

9 /12


स्थानीय और वैश्विक चर

Theory Click to read/hide

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

C++ में मुख्य प्रोग्राम भी एक सबरूटीन है, इसलिए main() के अंदर घोषित सभी वेरिएबल्स लोकल वेरिएबल्स हैं।
अन्य सबरूटीन्स अन्य सबरूटीन्स के स्थानीय वेरिएबल्स के बारे में कुछ भी "जानते" नहीं हैं।

इस प्रकार, एक चर के दायरे (दायरे) को केवल उपनेमका तक सीमित करना संभव है जहां इसकी वास्तव में आवश्यकता है। प्रोग्रामिंग में, इस तकनीक को एनकैप्सुलेशन  - किसी वेरिएबल को बाहर से बदलने से छिपाना।

यदि एक चर घोषित करना आवश्यक है जो कार्यक्रम में कहीं भी दिखाई देगा (किसी भी उपनेमका में), तो ऐसे चर सभी उपनेमकाओं के बाहर घोषित किए जाते हैं (नीचे दी गई तालिका से कार्यक्रम 3 देखें)।
ऐसे चर वैश्विक कहलाते हैं।

C++ में, जब प्रोग्राम शुरू होता है, तो सभी वैश्विक चर स्वचालित रूप से शून्य पर सेट हो जाते हैं (बूलियन चर गलत मान लेते हैं)।


तीन कार्यक्रमों का विश्लेषण करें: <तालिका संरेखण = "केंद्र" सीमा = "1" सेलपैडिंग = "1" सेलस्पेसिंग = "1" शैली = "चौड़ाई: 95%"> <शरीर> 1) इस प्रोग्राम में वेरिएबल i लोकल है। सबरूटीन के अंदर एक स्थानीय चर घोषित किया जाता है 2) यहां, भले ही मुख्य प्रोग्राम में वेरिएबल i हो (वैल्यू 7 के साथ), वैल्यू 5 के साथ एक नया लोकल वेरिएबल i बनाया जाएगा। 
जब आप इस प्रोग्राम को चलाते हैं, तो स्क्रीन पर मान 75 प्रदर्शित होगा 3) इस प्रोग्राम में एक ग्लोबल वेरिएबल i. है, इसकी वैल्यू सबरूटीन के अंदर और मुख्य प्रोग्राम के अंदर बदली जा सकती है
प्रक्रिया वैश्विक चर i के साथ काम करेगी और इसे 2 के बराबर एक नया मान दिया जाएगा। मूल्य 2 स्क्रीन पर प्रदर्शित होता है <टीडी> शून्य परीक्षण () {   इंट मैं = 5; cout << मैं; } <टीडी> शून्य परीक्षण () {   इंट मैं = 5;   cout << मैं; } मुख्य() { इंट मैं = 7;   cout << मैं;   परीक्षा(); } <टीडी> #शामिल <iostream> नेमस्पेस एसटीडी का उपयोग करना; int मैं; शून्य परीक्षण () {   मैं = 2; } मुख्य() { परीक्षा(); cout << मैं; }

Problem

n पैरामीटर के साथ एक प्रक्रिया लिखें जो n की ऊंचाई वाले क्रिसमस ट्री को प्रदर्शित करती है।
मुख्य कार्यक्रम में वेरिएबल n के मान का इनपुट और प्रक्रिया की कॉल शामिल होनी चाहिए।
 
 
उदाहरण
<टेबल क्लास = "टेबल-एसएम टेबल-बॉर्डर टेबल-स्ट्राइप्ड टेबल-लिस्ट-टेस्ट"> <सिर> <वें># <वें>इनपुट <वें>आउटपुट <शरीर> 1 5 <टीडी> <पूर्व>     हे    ओह   ओह  ओह ऊऊउउउउउउउउउउउउउउउउउउउउउउउउउउउउउउउउउउउउउउउउउउउउउउउउउउउउउउउउउउउउउउउउउउउउउउउउउउउ,,,,,, की