जटिलता के विभिन्न स्तरों के अनुप्रयोगों को लिखने के लिए, आपको सबसे पहले यह जानना होगा कि इसे कैसे करना है। और एल्गोरिथम और प्रोग्रामिंग के आधार से शुरू करना वांछनीय है। इसी के बारे में हम लेख में बात करेंगे।
कंप्यूटर साइंस क्या है?
यह एक जटिल तकनीकी विज्ञान का नाम है, जिसका कार्य कंप्यूटर प्रौद्योगिकी का उपयोग करके डेटा बनाने, प्रसंस्करण, संचारण, भंडारण और पुनरुत्पादन के तरीकों को व्यवस्थित करना है। इसमें संचालन और प्रबंधन विधियों के सिद्धांत भी शामिल हैं जो लक्ष्य को प्राप्त करने में मदद करते हैं। शब्द "कंप्यूटर विज्ञान" स्वयं फ्रांसीसी मूल का है और "सूचना" और "स्वचालन" शब्दों का एक संकर है। यह डेटा एकत्र करने, संसाधित करने और प्रसारित करने के लिए नई तकनीकों के विकास और प्रसार के कारण उत्पन्न हुआ, जो मशीन मीडिया पर उनके निर्धारण से जुड़े थे। यह कंप्यूटर विज्ञान की उत्पत्ति है। एल्गोरिथम और प्रोग्रामिंग की मूल बातें इस विज्ञान के सबसे महत्वपूर्ण क्षेत्रों में से एक हैं।
वह क्या हैकर रहे हो?
सूचना विज्ञान निम्नलिखित कार्यों का सामना करता है:
- कंप्यूटर प्रौद्योगिकी के लिए हार्डवेयर और सॉफ्टवेयर समर्थन।
- एक दूसरे के साथ मानव और कंप्यूटर घटकों की बातचीत सुनिश्चित करने के लिए।
"इंटरफ़ेस" शब्द का प्रयोग अक्सर तकनीकी भाग को संदर्भित करने के लिए किया जाता है। यहां हमारे पास एक मुफ्त कार्यक्रम है। एल्गोरिथम और प्रोग्रामिंग की मूल बातें हमेशा बड़े पैमाने पर वितरण के उत्पादों को बनाते समय उपयोग की जाती हैं जो व्यापक दर्शकों को "जितना" चाहिए। दरअसल, लोकप्रियता के लिए, विकसित एप्लिकेशन को काम करना चाहिए और बेहतर दिखना चाहिए।
एल्गोरिदम का प्रतिनिधित्व
इन्हें महत्वपूर्ण तरीके से लिखा जा सकता है। सबसे लोकप्रिय निम्नलिखित हैं:
- मौखिक-सूत्र विवरण। इसका तात्पर्य पाठ और विशिष्ट सूत्रों की नियुक्ति से है जो सभी व्यक्तिगत मामलों में बातचीत की विशेषताओं की व्याख्या करेगा।
- फ्लो डायग्राम। ग्राफिक प्रतीकों की उपस्थिति निहित है, जो प्रोग्राम की बातचीत की विशेषताओं को अपने भीतर और अन्य अनुप्रयोगों या कंप्यूटर के हार्डवेयर घटक के साथ समझना संभव बनाता है। उनमें से प्रत्येक एक अलग कार्य, प्रक्रिया या सूत्र के लिए जिम्मेदार हो सकता है।
- एल्गोरिदमिक भाषाएं। इसका तात्पर्य विशिष्ट मामलों के लिए वर्णन करने के अलग-अलग तरीकों के निर्माण से है, जो कार्यों की विशेषताओं और अनुक्रम को दर्शाते हैं।
- ऑपरेटर योजनाएं। प्रोटोटाइप निहित है - यह उन रास्तों के आधार पर बातचीत दिखाएगा जोअलग-अलग ऑपरेंड गुजरेंगे।
स्यूडोकोड। कार्यक्रम की रीढ़ की हड्डी का एक स्केच।
एल्गोरिदम की रिकॉर्डिंग
किसी प्रोग्राम, फंक्शन या प्रक्रिया का अपना प्रोटोटाइप बनाना कैसे शुरू करें? ऐसा करने के लिए, निम्नलिखित सामान्य अनुशंसाओं का उपयोग करना पर्याप्त है:
- प्रत्येक एल्गोरिथ्म का अपना नाम होना चाहिए, जो इसका अर्थ बताता है।
- शुरुआत और अंत की उपस्थिति का ध्यान रखना सुनिश्चित करें।
- इनपुट और आउटपुट डेटा का वर्णन किया जाना चाहिए।
- आदेश निर्दिष्ट करें जो विशिष्ट जानकारी पर कुछ कार्य करेगा।
लिखने के तरीके
एल्गोरिदम के पांच निरूपण हो सकते हैं। लेकिन लिखने के दो ही तरीके हैं:
- औपचारिक मौखिक। यह इस तथ्य की विशेषता है कि विवरण मुख्य रूप से सूत्रों और शब्दों का उपयोग करके बनाया गया है। सामग्री, साथ ही इस मामले में एल्गोरिथम चरणों के निष्पादन का क्रम, एक प्राकृतिक पेशेवर भाषा में एक मनमाना रूप में लिखा गया है।
- ग्राफिक। सबसे आम। इसके लिए ब्लॉक प्रतीकों या एल्गोरिदम की योजनाओं का उपयोग किया जाता है। उनके बीच संबंध विशेष पंक्तियों का उपयोग करके दिखाया गया है।
कार्यक्रम संरचना का विकास
तीन मुख्य प्रकार हैं:
- रैखिक। इस संरचना के साथ, सभी क्रियाएं क्रमिक रूप से प्राथमिकता के क्रम में और केवल एक बार की जाती हैं। सर्किट एक अनुक्रम की तरह दिखता हैजिस क्रम में उन्हें निष्पादित किया जाता है, उसके आधार पर ब्लॉक ऊपर से नीचे तक व्यवस्थित होते हैं। परिणामी प्राथमिक और मध्यवर्ती डेटा कम्प्यूटेशनल प्रक्रिया की दिशा को प्रभावित नहीं कर सकता है।
- ब्रांचिंग। जटिल समस्याओं को हल करने में, व्यवहार में व्यापक आवेदन मिला है। इसलिए, यदि प्रारंभिक स्थितियों या मध्यवर्ती परिणामों को ध्यान में रखना आवश्यक है, तो आवश्यक गणना उनके अनुसार की जाती है और प्राप्त परिणाम के आधार पर कम्प्यूटेशनल प्रक्रिया की दिशा बदल सकती है।
चक्रीय। अपने लिए कई कार्यों के साथ काम करना आसान बनाने के लिए, प्रोग्राम कोड के कुछ अनुभागों को कई बार दोहराना समझ में आता है। यह निर्धारित न करने के लिए कि कितनी बार और क्या करने की आवश्यकता है, एक चक्रीय संरचना का उपयोग किया जाता है। यह आदेशों के अनुक्रम के लिए प्रदान करता है जो किसी दिए गए शर्त को पूरा होने तक दोहराया जाएगा। लूप के उपयोग से आप प्रोग्राम लिखने की जटिलता को काफी कम कर सकते हैं।
प्रोग्रामिंग
प्रोग्रामिंग भाषा का चयन करना महत्वपूर्ण है जिसमें प्रोग्राम बनाए जाएंगे। यह ध्यान दिया जाना चाहिए कि उनमें से कई विशिष्ट कार्य परिस्थितियों (उदाहरण के लिए, एक ब्राउज़र में) के लिए "अनुरूप" हैं। सामान्य तौर पर, प्रोग्रामिंग भाषाओं को दो समूहों में विभाजित किया जाता है:
- कार्यात्मक।
- ऑपरेटर:
- गैर प्रक्रियात्मक;
- प्रक्रियात्मक।
क्या आप अनुमान लगा सकते हैं कि किनका सबसे अधिक उपयोग किया जाता है? संचालिका-प्रक्रियात्मक - यही उत्तर है। वे मशीन उन्मुख या स्वतंत्र हो सकते हैं। पहले वाले हैंअसेंबलर, ऑटोकोड, प्रतीकात्मक कोडिंग। निर्दलीय को उनके अभिविन्यास के आधार पर विभाजित किया जाता है:
- प्रक्रियात्मक;
- समस्याग्रस्त;
- वस्तु।
उनमें से प्रत्येक का अपना दायरा है। लेकिन प्रोग्राम (उपयोगी एप्लिकेशन या गेम) लिखने के लिए, ऑब्जेक्ट-ओरिएंटेड भाषाओं का सबसे अधिक उपयोग किया जाता है। बेशक, आप दूसरों का उपयोग कर सकते हैं, लेकिन तथ्य यह है कि वे जनता के लिए अंतिम उपभोक्ता उत्पाद बनाने के लिए सबसे अधिक विकसित हैं। हां, और यदि आपके पास अभी तक एक सटीक दृष्टि नहीं है कि कहां से शुरू करें, तो मेरा सुझाव है कि एल्गोरिथम और ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग की मूल बातों पर ध्यान दें। अब यह एक बहुत लोकप्रिय क्षेत्र है जिसमें आप बहुत सारी शैक्षिक सामग्री पा सकते हैं। सामान्य तौर पर, एल्गोरिथम और प्रोग्रामिंग भाषाओं की मूल बातें अब इस तथ्य के कारण आवश्यक हैं कि योग्य डेवलपर्स की कमी है, और उनका महत्व केवल भविष्य में ही बढ़ेगा।
निष्कर्ष
एल्गोरिदम (और बाद में कार्यक्रमों के साथ) के साथ काम करते समय, सभी विवरणों के माध्यम से छोटे से छोटे तक सोचने का प्रयास करना चाहिए। इसके बाद, कोड के प्रत्येक अविकसित खंड की पहचान से केवल अतिरिक्त कार्य, विकास लागत में वृद्धि और कार्य का समय होगा। सभी बारीकियों की सावधानीपूर्वक योजना और विस्तार से समय, प्रयास और धन की काफी बचत होगी। खैर, अब वे कह सकते हैं कि इस लेख को पढ़ने के बाद, आपको एल्गोरिथम और प्रोग्रामिंग की मूल बातें समझ में आ गई हैं। यह केवल इस ज्ञान को लागू करने के लिए बनी हुई है। अगर वहाँविषय का अधिक विस्तार से अध्ययन करने की इच्छा, मैं "फंडामेंटल्स ऑफ एल्गोरिथम एंड प्रोग्रामिंग" (सेमाकिन, शेस्ताकोव) 2012 पुस्तक की सलाह दे सकता हूं।