हर साल प्रोग्रामिंग में रुचि बढ़ती है। और अगर कार्यक्रम लिखने में विशेषज्ञता वाले संस्थानों में वे C ++ जैसी प्रोग्रामिंग भाषा पर भरोसा करते हैं, तो स्कूलों और तकनीकी स्कूलों में छात्र "पास्कल" से परिचित हो जाते हैं। और पहले से ही इसी भाषा के आधार पर वे डेल्फी सॉफ्टवेयर के इस्तेमाल से प्रोग्रामिंग को समझने लगते हैं। यह तुरंत ध्यान दिया जाना चाहिए कि ये प्रोग्रामिंग भाषाएं अपनी कल्पना की अभिव्यक्ति के लिए एक विशाल स्थान प्रदान करती हैं। और अगर पास्कल भाषा की मदद से आप प्रोग्रामिंग की बुनियादी अवधारणाओं से परिचित हो सकते हैं, तो डेल्फी में आप पहले से ही एक पूर्ण कार्यक्रम लिख सकते हैं। और कभी-कभी "पास्कल" में सरणियों को हल करके कार्यक्रमों को लिखने में एक महत्वपूर्ण स्थान पर कब्जा कर लिया जाता है।
बहुत भिन्न चरों की एक बड़ी संख्या की उपस्थिति
एक प्रोग्रामिंग भाषा में बहुत सारे विभिन्न चर होते हैं, जिनकी विशेषता केवल एक मान की उपस्थिति से होती है। वे एक निश्चित प्रकार वाले एकल मान को संग्रहीत करने में सक्षम हैं। स्ट्रिंग चर अपवाद हैं। वो हैंउन डेटा का एक संग्रह है जिसके लिए वर्ण प्रकार विशेषता है। लेकिन ऐसे चरों को भी आमतौर पर एक अलग मान की स्थिति से माना जाता है।
यह कोई रहस्य नहीं है कि कंप्यूटर की मदद से आप बड़ी मात्रा में डेटा से संबंधित कुछ कार्य करने के लिए समय को काफी कम कर सकते हैं। लेकिन कैसे, केवल उन चरों का उपयोग करते समय, जिनके प्रकार मनुष्यों को ज्ञात हैं, क्या काम के परिणामों को स्मृति में संग्रहीत करना संभव है, और उन डेटा को भी संसाधित करना है जिनमें बड़ी संख्या में पंक्तियाँ हैं? गतिविधि के किसी भी क्षेत्र में ऐसे कार्य काफी सामान्य हैं।
बेशक, आप हमेशा अपने लक्ष्यों को प्राप्त करने के लिए जितने चाहें उतने चर दर्ज कर सकते हैं। आप उनके लिए कुछ मान भी परिभाषित कर सकते हैं। लेकिन कार्यक्रम का कोड इससे ही बढ़ेगा। बड़ी संख्या में लाइनों वाले कोड को पढ़ना मुश्किल है। खासकर जब त्रुटियों को खोजना आवश्यक हो।
तदनुसार, प्रोग्रामर्स ने इस सवाल के बारे में सोचा। इसीलिए अब तक जिन भाषाओं को विकसित किया गया है उनमें ऐसे वेरिएबल्स हैं जो बड़ी मात्रा में डेटा को अपने आप में स्टोर करना संभव बनाते हैं। प्रोग्रामिंग के दृष्टिकोण में "पास्कल" में सरणी बहुत बदल गई है। इसलिए, इसे प्रोग्रामिंग भाषा में एक महत्वपूर्ण चर माना जाता है।
सरणी का उपयोग करने से कोड का आकार काफी कम हो सकता है
इस टर्म के तहत डेटा का एक क्रमबद्ध क्रम छिपा होता है, जो एक प्रकार की विशेषता होती है। इसके अलावा, इस सभी डेटा को एक ही नाम मिलता है। यह भी चाहिएयह ध्यान दिया जाना चाहिए कि वास्तविक दुनिया की कई वस्तुएं इस परिभाषा में फिट हो सकती हैं: शब्दकोश, कार्टून और बहुत कुछ। हालांकि, "पास्कल" में एक सरणी प्रस्तुत करने का सबसे आसान तरीका एक प्रकार की तालिका के रूप में है। प्रत्येक व्यक्तिगत सेल में एक चर होता है। निर्देशांक का उपयोग करके, आप चर की स्थिति निर्धारित कर सकते हैं कि यह सामान्य तालिका में कब्जा कर लेगा।
एक आयामी सरणी का क्या अर्थ है?
सबसे सरल तालिका वह है जो रैखिक है। इस सरणी में, पैरामीटर का स्थान निर्धारित करने के लिए, केवल एक संख्या निर्दिष्ट करना पर्याप्त है। उनके आधार पर अधिक जटिल सरणियाँ बनती हैं।
"पास्कल" में एक-आयामी सरणियों का वर्णन करने के लिए, बस निम्नलिखित कोड दर्ज करें: टाइप करें Array of.
संख्याएं वे चर हैं जिनका एक क्रमिक प्रकार हो सकता है। एक सीमा निर्दिष्ट करते समय, यह समझने योग्य है कि प्रारंभिक संख्या अंतिम संख्या से अधिक नहीं हो सकती है। सरणी तत्वों का प्रकार बिल्कुल कुछ भी हो सकता है - या तो मानक या पहले से वर्णित। चुनाव किसी विशेष समस्या को हल करने की आवश्यकता पर निर्भर करेगा।
रैखिक सरणी का वर्णन कैसे किया जाता है?
"पास्कल" में एक-आयामी सरणियों का तुरंत वर्णन करना संभव है। यह एक विशेष खंड में किया जाना चाहिए, जो इस विशेष प्रक्रिया के लिए आवश्यक है। आपको निम्नलिखित कोड दर्ज करना होगा: Var: Array Of.
यह समझने के लिए कि आप पास्कल में एक सरणी का वर्णन कैसे कर सकते हैं, आपको निम्नलिखित कोड दर्ज करना चाहिए:
- वार
- S, VV: Array[5..50] of Real;
- K: Array['C'.. 'R'] Integer;
- Z: सरणी [-10..10] शब्द का;
- ई: ऐरे [3..30] रियल का।
इस उदाहरण में, चर S, VV और T उन संख्याओं की एक सरणी हैं जो वास्तविक हैं। चर K वर्ण प्रकार और उन तत्वों को छुपाता है। जो पूर्णांक हैं। Z सरणी उन संख्याओं को संग्रहीत करती है जिनका प्रकार Word है।
ऐरे के साथ काम करते समय उपयोग की जाने वाली सभी क्रियाओं में, असाइनमेंट को अलग किया जा सकता है। पूरी तालिका को इसके अधीन किया जा सकता है। उदाहरण के लिए, एस:=वीवी। लेकिन यह समझा जाना चाहिए कि असाइनमेंट संचालन केवल "पास्कल" में एक सरणी के अधीन किया जा सकता है जिसमें एक निश्चित प्रकार होता है।
ऐसे कोई और ऑपरेशन नहीं हैं जो एक ही बार में पूरे एरे पर किए जा सकें। हालाँकि, आप तत्वों के साथ उसी तरह काम कर सकते हैं जैसे अन्य अभाज्य संख्याओं के साथ, जिनमें एक निश्चित प्रकार होता है। एक व्यक्तिगत पैरामीटर को संदर्भित करने के लिए, आपको सरणी का नाम निर्दिष्ट करना होगा। वर्गाकार कोष्ठकों का उपयोग करके, आपको वांछित तत्व की विशेषता वाले सूचकांक को निर्धारित करना होगा। उदाहरण के लिए: के [12]।
सरणी और अन्य चर के बीच मुख्य अंतर
तालिका घटकों और सरल चर के बीच मूल अंतर यह है कि कोष्ठक में न केवल सूचकांक मान रखना संभव है, बल्कि ऐसी अभिव्यक्ति भी है जो वांछित मूल्य की ओर ले जा सकती है। अप्रत्यक्ष संबोधन का एक उदाहरण हो सकता है: वी [के]। इस मामले में, चर K एक निश्चित मान लेता है। इस सेयह इस प्रकार है कि आप किसी सरणी को भरते, संसाधित करते और प्रिंट करते समय लूप का उपयोग कर सकते हैं।
संगठन का यह रूप स्ट्रिंग वेरिएबल के मामले में हो सकता है जो उनके गुणों में चार प्रकार के सरणी के काफी करीब हैं। लेकिन मतभेद भी हैं। वे इस प्रकार हैं:
- स्ट्रिंग वेरिएबल को हमेशा कीबोर्ड से दर्ज किया जा सकता है और स्क्रीन पर प्रिंट किया जा सकता है।
- स्ट्रिंग चर लंबाई में सीमित हैं। आप अधिकतम 255 वर्ण दर्ज कर सकते हैं। सरणी का महत्वपूर्ण आकार 64 kb है।
स्क्रीन पर सरणी डेटा प्रदर्शित करने के लिए किन विधियों का उपयोग किया जा सकता है?
आपको इस बात पर ध्यान देना चाहिए कि ऐरे की सामग्री किस तरह प्रदर्शित होती है। कई हैं।
- लेखन (ए[1], ए[2], ए[3])। ऐसा उदाहरण, हालांकि आदिम है, यह दिखाने में सक्षम है कि आप तालिका में निहित प्रत्येक व्यक्तिगत तत्व को सीधे कैसे एक्सेस कर सकते हैं। हालाँकि, पास्कल सरणियों के सरल चरों पर होने वाले कुछ लाभ यहाँ दिखाई नहीं दे रहे हैं।
-
कार्यक्रम A1;
वर B: सरणी [1..10] पूर्णांक का;
K: पूर्णांक;
शुरुआत
के लिए:=1 से 10 करो {यह कमांड पैरामीटर के साथ लूप करता है}
Readln(A[K]); {ए [आई] कीबोर्ड का उपयोग करके दर्ज किया जा रहा है }
के लिए:=10 डाउनटू 1 डू {टेबल को उल्टे क्रम में प्रिंट किया जा रहा है}
लिखें (ए [के], 'वीवीवी') अंत।
"पास्कल" में सरणियों के लिए कार्यक्रम का एक समान कोड दर्शाता है कि आप कीबोर्ड का उपयोग करके 10 नंबर कैसे दर्ज कर सकते हैं, उनका प्रिंट आउट ले सकते हैं, मानों को उल्टे क्रम में पुनर्व्यवस्थित कर सकते हैं। यदि वही प्रोग्राम फिर से लिखा जाता हैएक सरणी के बजाय बड़ी संख्या में चर का उपयोग करते हुए, कोड में काफी वृद्धि होगी। और यह प्रोग्राम को पढ़ने की प्रक्रिया को बहुत जटिल करता है।
सरणी के उपयोग से संभावनाओं में वृद्धि
तत्व सूचकांकों के वर्ग के बराबर मूल्यों से तालिकाओं को भरना भी संभव है। "पास्कल" में स्ट्रिंग्स की ऐसी सरणी बनाना भी संभव है, जो सभी नंबरों को स्वचालित रूप से दर्ज करने की अनुमति देगा। जैसा कि आप देख सकते हैं, एक सरणी का उपयोग करने से पास्कल प्रोग्रामिंग भाषा की क्षमताओं में काफी वृद्धि होती है।
विभिन्न कार्यों में रैखिक सरणियों का प्रसंस्करण बहुत आम है। इसलिए, इसमें कुछ भी अजीब नहीं है कि उनका अध्ययन संस्थानों और स्कूलों में किया जाता है। इसके अलावा, सरणियों द्वारा ले जाने की संभावनाएं काफी व्यापक हैं।
द्वि-आयामी सरणियों के अंतर्गत क्या छिपा है?
आप एक ऐसी तालिका की कल्पना कर सकते हैं जिसमें एक साथ कई पंक्तियाँ हों। प्रत्येक व्यक्तिगत पंक्ति में कई कोशिकाएँ होती हैं। ऐसी स्थिति में, कोशिकाओं की स्थिति को सटीक रूप से निर्धारित करने के लिए, एक सूचकांक को चिह्नित करना आवश्यक नहीं है, जैसा कि रैखिक सरणियों के मामले में था, लेकिन दो - संख्याएं जो एक पंक्ति और एक स्तंभ की विशेषता हैं। "पास्कल" में द्वि-आयामी सरणियों को एक समान प्रतिनिधित्व की विशेषता है।
इस तरह की तालिकाओं का वर्णन कैसे करें?
ऐसी तालिका के मूल्यों को संग्रहीत करने के लिए पास्कल भाषा में पाई जाने वाली डेटा संरचना हैद्वि-आयामी सरणी का नाम। ऐसी सरणी का विवरण दो विधियों का उपयोग करके तुरंत संभव है।
- वार बी: सरणी [1..15] सरणी का [1..30] पूर्णांक का;
- वर बी: सरणी [1..15, 1..30] पूर्णांक का।
इन सभी मामलों में, एक द्वि-आयामी सरणी का वर्णन किया गया है, जिसमें 15 पंक्तियाँ और 30 स्तंभ हैं। जो विवरण ऊपर दिए गए थे वे बिल्कुल समकक्ष हैं। तत्वों में से किसी एक के साथ काम करना शुरू करने के लिए, दो सूचकांक आवंटित करना आवश्यक है। उदाहरण के लिए, ए[6][5] या ए[6, 5]।
स्क्रीन का आउटपुट लगभग वैसा ही होगा जैसा कि एक-आयामी सरणी के मामले में होता है। आपको केवल दो अनुक्रमणिका निर्दिष्ट करने की आवश्यकता है। अन्य सभी मामलों में, जैसे कोई मतभेद नहीं हैं, इसलिए इसके बारे में लंबे समय तक बात करने की आवश्यकता नहीं है।
सॉर्ट करने का पहला तरीका
कभी-कभी डेटा को सॉर्ट करना आवश्यक हो जाता है। इसके लिए, भाषा में संबंधित कमांड हैं। दो एल्गोरिदम हैं जिनके द्वारा पास्कल में एक सरणी को सॉर्ट किया जा सकता है। प्रत्यक्ष चयन पद्धति का अर्थ इस तथ्य में निहित है कि लूप को नेस्ट करके, बिल्कुल प्रत्येक तालिका चर की तुलना अन्य मूल्यों के साथ की जाएगी। दूसरे शब्दों में, यदि 15 संख्याओं की एक सरणी है, तो पहली संख्या 1 की तुलना अन्य संख्याओं से की जाएगी। यह तब तक होगा जब तक, उदाहरण के लिए, पहली संख्या से बड़ा तत्व नहीं मिल जाता है। इसके बाद, ठीक इसी आंकड़े की तुलना की जाएगी। यह तब तक दोहराया जाएगा जब तक कि सबसे बड़ा नहीं मिल जाता।सभी प्रस्तावित से तत्व। यह तरीका उन प्रोग्रामर के लिए काफी सरल है, जिन्होंने अभी-अभी भाषा में काम करना शुरू किया है।
दूसरा सरणी छँटाई विधि
दूसरा तरीका है बुलबुला। इस तकनीक का सार इस तथ्य में निहित है कि पड़ोसी तत्वों की तुलना जोड़े में की जाती है। उदाहरण के लिए, 1 और 2, 2 और 3, 3 और 4, आदि। इस घटना में कि पाया गया मान पूरी तरह से छँटाई की शर्तों का अनुपालन करता है, इसे पूरे सरणी के अंत में ले जाया जाएगा, अर्थात यह एक के रूप में पॉप अप होगा "बुलबुला"। यह एल्गोरिथम याद रखना सबसे कठिन है। हालांकि, आपको इसे पीसने की जरूरत नहीं है। मुख्य बात कोड की पूरी संरचना को समझना है। और केवल इस मामले में प्रोग्रामिंग में महान ऊंचाइयों को प्राप्त करने का दावा किया जा सकता है।
निष्कर्ष
हमें उम्मीद है कि आप समझ गए होंगे कि सरणियाँ क्या हैं और आप किसी विशिष्ट मूल्य को खोजने या किसी विशिष्ट लक्ष्य को प्राप्त करने के लिए कैसे छाँट सकते हैं। यदि आपने किसी विशेष समस्या को हल करने के लिए "पास्कल" चुना है, जिसमें सरणियाँ एक महत्वपूर्ण स्थान रखती हैं, तो आपको उनके अध्ययन को पूरी तरह से करने की आवश्यकता होगी। यह इस तरह के एक कारक से प्रभावित होता है जैसे कि पर्याप्त रूप से बड़ी संख्या में चर की उपस्थिति जो कुछ स्थितियों में पूरे कोड को समग्र रूप से सरल बनाने के लिए उपयोग की जाती है। सरणियों को मुख्य मात्रा माना जाता है, जिसका अध्ययन बिना असफलता के होना चाहिए।