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

डेटा संरचनाओं में सामान संग्रहीत करना

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

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

संरचनाओं

एक एकल चर एक समय में डेटा का केवल एक हिस्सा ही धारण कर सकता है। हालाँकि, एक संरचना एक ही चर के अंदर कई चर संग्रहीत कर सकती है, जैसे:

संरचना व्यक्ति

स्ट्रिंग नाम;

इंट, उम्र;

};

व्यक्ति.नाम = "बिली द किड";

व्यक्ति.आयु = 26;

यह कोड एक संरचना को परिभाषित करता है और इसे व्यक्ति का मनमाना नाम देता है। संरचना के अंदर, यह एक नाम चर को परिभाषित करता है जो एक स्ट्रिंग और एक आयु चर धारण कर सकता है जो एक पूर्णांक धारण कर सकता है।

नाम चर में एक स्ट्रिंग को संग्रहीत करने के लिए, आपको इसे (नाम) रखने के लिए संरचना नाम (व्यक्ति) और स्ट्रिंग चर नाम को परिभाषित करने की आवश्यकता है। इस प्रकार, person.name "बिली द किड" को धारण करने के लिए संरचना (व्यक्ति) और स्ट्रिंग चर (नाम) को निर्दिष्ट करता है।

आयु चर में एक पूर्णांक को संग्रहीत करने के लिए, आपको संरचना नाम (व्यक्ति) और पूर्णांक चर नाम को इसे (आयु) रखने के लिए परिभाषित करने की आवश्यकता है। इस प्रकार, person.age 26 धारण करने के लिए संरचना (व्यक्ति) और पूर्णांक चर (आयु) को निर्दिष्ट करता है।

सरणियाँ या सूचियाँ

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

एक सरणी/सूची में संग्रहीत वस्तुओं की स्थिति, एक अनुक्रमणिका संख्या द्वारा पहचानी जाती है। शून्य-आधारित सरणी में, सरणी में पहले संग्रहीत आइटम को 0 की अनुक्रमणिका संख्या असाइन की जाती है। एक-आधारित सरणी में, सरणी में पहले संग्रहीत आइटम को 1 की अनुक्रमणिका संख्या असाइन की जाती है।

सरणी नाम [4] = 32

यह कोड एक सरणी/सूची को परिभाषित करता है जिसमें -4 और 90 जैसे कई पूर्णांक होते हैं। संख्या 32 को पुनर्प्राप्त करने के लिए, आपको उस डेटा की स्थिति या अनुक्रमणिका संख्या के बाद सरणी/सूची नाम (सरणी नाम) का संदर्भ देना होगा जिसे आप पुनर्प्राप्त करना चाहते हैं। यदि पहले आइटम की अनुक्रमणिका संख्या 0 है, तो सरणी नाम [0] पुनर्प्राप्त करेगा -4, सरणी नाम [1] 90 पुनर्प्राप्त करेगा, सरणी नाम [2] 128 पुनर्प्राप्त करेगा, सरणी नाम [3] पुनर्प्राप्त करेगा -57, और सरणी नाम [4 ] 32 को पुनः प्राप्त करेगा।

शब्दकोश, मानचित्र, या हैश

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

यह कोड कुंजी 'pi' को संग्रहीत करता है जो 3.14 के मान से जुड़ा होता है। फिर यह कुंजी 'कर दर' को संग्रहीत करता है जो 0.75 के मान से जुड़ा होता है। ध्यान दें कि एक शब्दकोश/मानचित्र/हैश में, कुंजियाँ सभी समान डेटा प्रकार की होनी चाहिए और संग्रहीत मान भी समान डेटा प्रकार होना चाहिए। इस उदाहरण में, कुंजियाँ सभी स्ट्रिंग्स ('pi' और 'taxrate') हैं, जबकि मान सभी दशमलव संख्याएँ (3.14 और 0.75) हैं।

डेटा पुनर्प्राप्त करने के लिए, डिक्शनरी/मैप/हैश नाम निर्दिष्ट करें जिसके बाद डेटा को पुनर्प्राप्त करने के लिए संबंधित कुंजी इस तरह से निर्दिष्ट करें:

mydictionary['pi'] = 3.14

यह कोड डिक्शनरी/मैप/हैश में संग्रहीत 'pi' कुंजी से जुड़े मान को पुनः प्राप्त करने के लिए कहता है जिसे mydictionary कहा जाता है। इस उदाहरण में, 'pi' कुंजी से जुड़ा मान 3.14 है।

ढेर

स्टैक को "लास्ट इन, फर्स्ट आउट" (एलआईएफओ) डेटा संरचनाओं के रूप में जाना जाता है क्योंकि संग्रहीत अंतिम वस्तु पहली है जिसे हटाया जा सकता है। स्टैक सिकुड़ सकते हैं और बढ़ सकते हैं और किसी भी डेटा प्रकार को स्टोर कर सकते हैं। वास्तविक दुनिया में, स्टैक डेटा प्रकार व्यंजनों के ढेर की तरह व्यवहार करते हैं। स्टैक में आपके द्वारा स्टोर की जाने वाली पहली वस्तु को नीचे रखा जाता है। स्टैक में संग्रहीत प्रत्येक अतिरिक्त आइटम पहले आइटम को आगे और आगे दबाता है। स्टैक में नीचे की वस्तु (संग्रहीत पहला आइटम) को पुनः प्राप्त करने के लिए, आपको इसके ऊपर संग्रहीत सभी वस्तुओं को पुनः प्राप्त करना होगा।

आप स्टैक पर दो प्रकार के ऑपरेशन कर सकते हैं:

  • धकेलना : पुश कमांड स्टैक में नया डेटा जोड़ता है। जब आप डेटा को स्टैक पर पुश करते हैं, तो आपको स्टैक के शीर्ष पर पुश करने के लिए डेटा भी निर्दिष्ट करना होगा।
  • पॉप: पॉप कमांड स्टैक के ऊपर से डेटा हटाता है। चूंकि पॉप कमांड हमेशा शीर्ष आइटम को हटा देता है, आपको केवल यह निर्दिष्ट करने की आवश्यकता है कि आप शीर्ष आइटम को स्टैक से पॉप करना चाहते हैं।

पुश और पॉप कमांड के संयोजन का उपयोग करके, आप स्टैक से डेटा को स्टोर और पुनर्प्राप्त कर सकते हैं।

कतारों

क्यू को "फर्स्ट इन, फर्स्ट आउट" (फीफो) डेटा संरचनाओं के रूप में जाना जाता है क्योंकि संग्रहीत पहला आइटम वह पहला है जिसे हटाया जा सकता है। कतारें सिकुड़ सकती हैं और बढ़ सकती हैं और किसी भी प्रकार के डेटा को स्टोर कर सकती हैं।

आप कतारों पर दो प्रकार के संचालन कर सकते हैं:

  • कतारबद्ध करें : Enqueue कमांड कतार के अंत में नया डेटा जोड़ता है। जब आप किसी क्यू में डेटा जोड़ते हैं, तो आपको क्यू के अंत में जोड़ने के लिए डेटा भी निर्दिष्ट करना होगा।
  • विपंक्ति : Dequeue कमांड कतार की शुरुआत से डेटा को हटा देता है। क्योंकि Dequeue हमेशा पहले आइटम को हटाता है, आपको केवल यह निर्दिष्ट करने की आवश्यकता है कि आप कतार से पहले आइटम को हटाना (dequeue) करना चाहते हैं।

Enqueue और Dequeue कमांड के संयोजन का उपयोग करके, आप एक क्यू से डेटा जोड़ और हटा सकते हैं।

ब्रांचिंग स्टेटमेंट के साथ निर्णय लेना

ब्रांचिंग स्टेटमेंट, जिसे अक्सर इफ स्टेटमेंट कहा जाता है, एक प्रोग्राम को सही या गलत स्थिति के आधार पर निर्देशों के विभिन्न सेटों के बीच चयन करने देता है। ब्रांचिंग स्टेटमेंट का उपयोग करके, प्रोग्राम हमेशा बदलते डेटा के आधार पर निर्णय ले सकते हैं।

सबसे सरल ब्रांचिंग स्टेटमेंट को if स्टेटमेंट (या if-then स्टेटमेंट) कहा जाता है। यदि एक बूलियन स्थिति सत्य है, तो यदि (या यदि-तब) कथन आदेशों का एक सेट चलाता है; अगर बूलियन कंडीशन गलत है, तो if (या if-then) स्टेटमेंट कुछ भी नहीं चलता है।

अगर (शर्त) तो कमांड

अगर (शर्त) तो

आदेश

अगर अंत

आदेश

}

ब्रांचिंग स्टेटमेंट का एक और रूपांतर, जिसे if-else कहा जाता है, ठीक दो विकल्प प्रदान करता है। यदि कोई बूलियन स्थिति सत्य है, तो if-else कथन आदेशों के एक सेट का अनुसरण करता है। यदि कोई बूलियन स्थिति गलत है, तो if-else स्टेटमेंट कमांड के दूसरे सेट का अनुसरण करता है।

अगर (शर्त) तो

आदेश

वरना

आदेश

अगर अंत

आदेश

अधिक आदेश

}

एकल बूलियन स्थिति की जाँच करने के बजाय, if-elseif कथन कई बूलियन स्थितियों की जाँच कर सकता है।

अगर (शर्त) तो

आदेश

और अगर (शर्त 2) तो

आदेश

अगर अंत

आदेश

अधिक आदेश

और भी आदेश

}

if-elseif कथन कई बूलियन स्थितियों की जाँच कर सकता है, लेकिन जाँच करने के लिए जितनी अधिक बूलियन स्थितियां हैं, पूरे if-elseif कथन को पढ़ना उतना ही कठिन हो सकता है। यही कारण है कि प्रोग्रामिंग भाषाएं if-elseif स्टेटमेंट के विकल्प की पेशकश करती हैं, जिसे सेलेक्ट या स्विच स्टेटमेंट कहा जाता है।

if-elseif स्टेटमेंट की तरह, सेलेक्ट या स्विच स्टेटमेंट भी कई बूलियन स्थितियों की जांच कर सकता है, लेकिन एक छोटे, सरल तरीके से जिसे पढ़ना और समझना आसान है।

केस वेरिएबल चुनें

केस वैल्यू1

आदेश

केस वैल्यू 2

आदेश

वरना

आदेश

अंत चयन

मामला मान1:

आदेश;

टूटना;

मामला मान2:

आदेश;

टूटना;

चूक:

आदेश;

टूटना;

}

लूपिंग स्टेटमेंट्स में रिपीट कमांड्स

लूपिंग स्टेटमेंट प्रोग्राम को एक या अधिक निर्देशों को दोहराने देता है। लूप के लिए एक निश्चित संख्या को दोहराता है जहां आपको यह परिभाषित करना चाहिए कि लूप कितनी बार चलना चाहिए।

चर के लिए = प्रारंभ मूल्य से समाप्ति मूल्य

आदेश

अगला

आदेश;

}

अक्सर, आप ठीक से नहीं जानते कि एक लूप कितनी बार चलना चाहिए। उन मामलों में, आपको थोड़ी देर के लूप का उपयोग करना चाहिए, जो एक बूलियन स्थिति की जांच करता है। यदि यह बूलियन स्थिति सत्य है, तो जबकि लूप चलता है। जैसे ही यह बूलियन कंडीशन झूठी हो जाती है, जबकि लूप चलना बंद कर देता है।

आदेश;

}

यदि बूलियन स्थिति शुरुआत से झूठी है, तो थोड़ी देर का लूप कभी भी नहीं चलेगा। दूसरी ओर, एक समय-समय पर लूप हमेशा कम से कम एक बार चलता है और फिर एक बूलियन स्थिति की जांच करता है। कुछ प्रोग्रामिंग भाषाओं में, डू-लूप लूप को रिपीट-लूप तक कहा जा सकता है।

आदेश;

} जबकि (हालत);

आदेश;

} तक (हालत);

चूंकि थोड़ी देर और करते-करते लूप दोनों तब तक नहीं रुकेंगे जब तक कि कोई शर्त गलत न हो जाए, आपको लूप के भीतर इस बूलियन स्थिति को बदलना होगा ताकि लूप अंततः बंद हो जाए।

सत्य तालिका

ट्रुथ टेबल विभिन्न बूलियन ऑपरेटरों के लिए विशिष्ट बूलियन मान दिखाते हैं: AND, OR, XOR, और NOT। AND ऑपरेटर (कई प्रोग्रामिंग भाषाओं में && के लिए छोटा) केवल तभी सत्य है जब दोनों बूलियन मान सत्य हों।

OR ऑपरेटर (संक्षिप्त से

कई प्रोग्रामिंग भाषाओं में) केवल तभी गलत है जब दोनों बूलियन मान झूठे हों। एक्सओआर ऑपरेटर केवल तभी झूठा है जब दोनों बूलियन मान या तो सत्य या दोनों झूठे हैं। NOT ऑपरेटर (कई प्रोग्रामिंग भाषाओं में ! को छोटा किया गया) बस एक सही मान को गलत या गलत मान को सत्य में बदल देता है।मान 1मान 2
तथा (&&)सत्यसत्य
सत्यसत्यअसत्य
असत्यअसत्यसत्य
असत्यअसत्यअसत्य

असत्य

 मान 1मान 2
या ()सत्य
सत्यसत्यसत्य
असत्यसत्यअसत्य
सत्यसत्यअसत्य

असत्य

असत्य मान 1
मान 2एक्सओआरसत्य
सत्यअसत्यसत्य
असत्यसत्यअसत्य
सत्यसत्यअसत्य

असत्य

असत्य 
मान 1नहीं (!)
सत्यअसत्य

असत्य

सत्य

प्रोग्रामिंग कंपाइलर और दुभाषिए

प्रोग्रामिंग कंपाइलर और दुभाषिए आपको विभिन्न प्रोग्रामिंग भाषाओं में कोड लिखने देते हैं और फिर कंप्यूटर पर अपना प्रोग्राम चलाते हैं। अधिकांश कंपाइलर और दुभाषिए कई ऑपरेटिंग सिस्टम पर काम करते हैं, लेकिन कुछ केवल एक या दो ऑपरेटिंग सिस्टम पर ही काम कर सकते हैं।

प्रोग्रामिंग सीखने के लिए, आपको यह देखने के लिए कि आप सही और गलत क्या कर रहे हैं, एक विशिष्ट प्रोग्रामिंग भाषा में कोड लिखने का अभ्यास करने की आवश्यकता है। जब तक आप लिनक्स, मैकओएस या विंडोज जैसे लोकप्रिय ऑपरेटिंग सिस्टम का उपयोग करते हैं, तब तक आपको अपनी पसंदीदा प्रोग्रामिंग भाषा के लिए कंपाइलर या दुभाषिया खोजने में थोड़ी परेशानी होनी चाहिए।विचार करने के लिए यहां कुछ कंपाइलर और दुभाषिए हैं:संकलक/दुभाषियाक्रोम ओएसआईपैडओएसलिनक्स
मैक ओएसखिड़कियाँएंड्रॉइड स्टूडियोएक्सएक्स
एक्सएक्सतीव्र गतिएक्स
एक्सएक्सस्पंदनएक्स
एक्सएक्सजीएनयू कंपाइलर संग्रह (जीसीसी)एक्स
एक्सएक्सजाओएक्स
एक्सएक्सजावाएक्स
एक्सएक्सKotlinएक्स
एक्सएक्समतलबएक्स
एक्सएक्सपर्लएक्स
एक्सएक्सपीएचपीएक्स
एक्सएक्सआरएक्स
एक्सएक्सप्रतिक्रिया मूल निवासीएक्स
एक्सएक्समाणिकएक्स
एक्सएक्सजंगएक्स
एक्सएक्सस्केलाएक्स
एक्सएक्सस्विफ्ट खेल के मैदान
एक्सएक्सविजुअल स्टूडियोएक्स
एक्सएक्स

एक्सकोड

एक्स

मुफ्त प्रोग्रामिंग संपादक

हालाँकि अधिकांश प्रोग्रामिंग कंपाइलर और दुभाषिए एक संपादक के साथ आते हैं, कई प्रोग्रामर एक अलग संपादक का उपयोग करना पसंद करते हैं जो अद्वितीय सुविधाएँ या शॉर्टकट प्रदान करता है जो लेखन कोड को तेज़ और आसान बनाते हैं।यहाँ कुछ मुफ्त प्रोग्रामिंग संपादक हैं जो जाँच के लायक हैं (वे सभी लिनक्स, मैकओएस और विंडोज पर काम करते हैं):

*अपाचे नेटबीन्स

*परमाणु

*ग्रहण आईडीई

*जीएनयू Emacs

*इंटेलीज आइडिया

*

शक्ति

डमी के लिए ऑल-इन-वन प्रोग्रामिंग की शुरुआत, दूसरा संस्करण

,पुस्तक लेखक के बारे में:वालेस वांग2.3 मिलियन से अधिक के साथ बेस्टसेलिंग लेखक हैंपुतलों के लिये प्रिंट में किताबें। उन्होंने लिखा है

डमी के लिए प्रोग्रामिंग शुरू करना