Introduction to Programming
꧁ Digital Diary ༒Largest Writing Community༒꧂
꧁ Digital Diary ༒Largest Writing Community༒꧂
इस अध्याय के अंत में, आप निम्न विषयों से परिचित होंगे
प्रोग्रामिंग क्या है
एल्गोरिथम और फ्लो चार्ट
ब्रांचिंग और लूपिंग
मॉड्यूलर डिजाइन
कम्प्यूटर एक इलेक्ट्रॉनिक उपकरण है। कम्प्यूटर द्वारा वांछित कार्य को निष्पादित करने हेतु निर्दिष्ट अनुदेशों की आवश्यकता होती है। उक्त कार्य को सम्पादित करने हेतु एक विशेष भाषा में लिखे गये अनुदेशों के समूह (collection of statements) को हम कम्प्यूटर प्रोग्राम कहते हैं। सॉफ्टवेयर ऐसे ही कम्प्यूटर प्रोग्रामों का संग्रह है।
उपयोग के आधार पर सॉफ्टवेयस्को दो प्रकारों में वर्गीकृत किया जाता है। वे प्रोग्रामिंग कार्यप्रणालियाँ (Programming Methodologies)
टॉप-डाउन अप्रोच (Top-down approach) प्रोग्राम को रूटिन में विभाजित करने की तकनीक को टॉप-डाउन वियोजन कहते हैं। इसे टॉप-डाउन डिजाईन भी कहते हैं। सम्पादित किये जाने वाल विशेष कार्यों से संबंधित प्रोग्राम को सामान्य / साधारण विवरणों में विभाजित कर इसका चरित्र चित्रण किया जाता है। अधिकांशतः साधारण स्तर में शुरू किये जाने का अर्थ है प्रोग्राम में "main" रूटिन का होना।
टॉप-डाउन वियोजन को करने में आपको कुछ बातें ध्यान देनी होंगी : टॉप स्तर को पहले डिजाईन किया जाना। डिजाईन के निम्न स्तरों के विवरणों का क्रियान्वयन बाद में किया जाना। प्रत्येक स्तर को सुस्पष्ट करना। अगले सेट के संशोधन का कार्य प्रारम्भ करने हेतु अगले निम्न स्तर को जाना।
टॉप-डाउन वियोजन के पीछे मार्गदर्शन देने वाला सिद्धांत "Divide and Conquer" है। मनुष्य का मस्तिष्क एक समय में कुछ विवरणों पर ही ध्यान केन्द्रित कर सकता है। यदि आप एक साधारण रूटिन के साथ डिजाइन कार्य प्रारम्भ तथा स्नैः स्नैः (Step by Step) करें और कदम कदम इसे विशेष रूटिनों में वियोजित करें, तो आपके मस्तिष्क को एक साथ कई विवरणों के साथ काम करने के लिए दबाव नहीं देना पडेगा।
समस्या का विश्लेषण
एक प्रश्न का विश्लेषण अथवा "डीकॉम्पोजिशन" ("Decomposition"
of a problem)
बड़े एवं जटिल प्रोग्रामों के कोडिंग का कार्य सुगमतापूर्वक करने हेतु उसे (प्रोग्राम को) छोटे छोटे भागों में विभाजित करने की प्रक्रिया को प्रोग्राम का डीकॉम्पोजिशन अथवा विश्लेषण कहते हैं। एक प्रोग्राम के डीकॉम्पोजिशन का मुख्य लाभ यह है कि, प्रोग्राम कोडिंग के प्रत्येक भाग को अलग से वियोजित किया जा सकता है। फलस्वरूप अधिक से अधिक समय की बचत की जा सकती है।
स्ट्रक्चर्ड प्रोग्रामिंग टेक्निक का अर्थ है प्रोग्राम विकास एवं कोडिंग के कार्य को सम्पादित करने हेतु टॉप-डाउन अप्रोच (top down approach) के सिद्धांतो का अनुपालन करना।
टॉप-डाउन अप्रोच का अर्थ है. एक प्रोग्राम के मॉड्यूल के रूप में प्रोग्राम की योजना करना। टॉप (मुख्य) मॉड्यूल के साथ प्रोग्रामिंग प्रारम्भ होता है। प्रधान अथवा मुख्य अथवा मेन (Main) मॉड्यूल के प्रोग्राम विकसित किये जाने के पश्चात ही द्वितीय स्तरीय मॉड्यूल के प्रोग्राम विकसित किये जाते हैं।
टॉप-डाउन प्रोग्रामिंग के विभिन्न अवयवों / पहलुओं की सहायता करने के लिए निम्नलिखित मूल स्ट्रक्चर्ड प्रोग्रामिंग विधाओं का अनुपालन किया जाता है:
अनुक्रम (Sequence) चयन (Selection) पुनरावृत्ति (Repetition) अनुक्रम सूचित करता है कि प्रोग्राम का प्रवाह स्ट्रक्चर्ड है तथा प्रोग्राम कंट्रोल का प्रवाह साधारणतः एक अनुदेश से दूसरे पर स्वतः जाता है।
चयन कई विकलपों के बीच किसी निर्णय को सूचित करता है। अर्थात, निर्णय के आधार पर प्रोग्राम का प्रवाह कई स्थानों में किसी एक पर जाना। पुनरावृत्ति या लूपिंग रचना तब होती है जब एक सेट के अनुदेशों को कई
बार पुनरावृत्त किया जाता है। यह बार बार उसी सेट के अनुदेशों को लिखने के कष्ट से बचाता है।
समस्या समाधान के मूलभूत चरण
किसी प्रोग्राम को लिखते समय कुछ मूलभूत तथ्यों का ध्यान रखा जाता है। एक निश्चित प्रक्रिया को अपनाकर ही हम समस्या का समाधान प्राप्त कर सकते हैं। उक्त निश्चित प्रक्रिया की व्याख्या हम निम्नवत कर सकते हैं - प्रोग्रामिंग प्रक्रिया गतिविधियों का एक समूह है, जिनके माध्यम से किसी प्रोग्राम को विकसित करना (Code the program)
समस्या के समाधान से सम्बन्धित सूचना एकत्रित करने के पश्चात इसमें उत्पन्न होने वाली क्रियाओं एवं प्रक्रियाओं को एक विशेष प्रकार से अभिव्यक्त किया जाता है जो साधारण भाषा में होती है तथा इसमें किसी विशिष्ट कम्प्यूटर भाषा का उपयोग नहीं होता है। इसे ऐल्गोरिथ्म विधि कहा जाता है। पश्चात इसका फ्लो-चार्ट तैयार किया जाता है। फ्लो-चार्ट में प्रोग्राम से सम्बन्धित समस्त गतिविधियों तथा डाटा एवं कन्ट्रोल के पलो (चलन) को विशेष चिन्हों द्वारा दर्शाया जाता है। ऐल्गोरिथ्म विधि में उपयोग की जाने वाली भाषा को स्यूडो-कोड (Pseudo Code) कहते हैं। इसी स्यूडो कोड के आधार पर प्रोग्राम को विकसित (Codify) किया जाता है। इसे प्रोग्रामिंग कहते हैं।
प्रोग्राम को विकसित (Codify) करने के पश्चात टेस्ट-डाटा अथवा परीक्षण-डाटा पर प्रोग्राम का परीक्षण किया जाता है।
समाधान एवं परिष्करण (Modification and Feedback)
प्रोग्राम के परीक्षण एवं कार्यान्वयन के पश्चात कभी-कभी उपयोगकर्ता द्वारा आउटपुट (रिपोटों) में कुछ संशोधन सुझाए जाते हैं अथवा कुछ अतिरिक्त रिपोर्टों की मांग की जाती है। इस आधार पर प्रोग्राम में बदलाव किये जाते हैं। इन्हें, हम प्रोग्राम संशोधन एवं परिष्करण कहते हैं।
अल्गोरिथम प्रश्न का समाधान प्राप्त करने हेतु कमिक (step by step) कार्यवाही का विवरण है। एल्गोरिथम में निम्नलिखत तत्व अथवा अवयव होने चाहिए :
निश्चित समय पर सही समाधान प्राप्त करना।
कमिक विवरण का स्पष्ट, यथार्थ एवं असंदिग्ध होना तथा
फ्लो चार्ट (Flowcharts)
प्रोग्राम फ्लो चार्ट एक कार्य की पूर्ति करने के लिए आवश्यक तकों क निर्दिष्ट प्रतीकों के माध्यम से चित्ररूपी प्रस्तुतिकरण है। इसमें प्रोग्राम के सभी आवश्यक कदम दर्शाये जाते हैं। इसे पलोचार्ट कहा जाता है, क्योंकि यह प्रोग्राम के प्रवाह को प्रदर्शित करता है। यह प्रत्येक इनपुट, आउटपुट तथ प्रोसेसिंग स्टेप का प्रतीकात्मक प्रस्तुतिकरण है। एल्गोरिथम में हम स्यूडो को की भाषा में किसी प्रोग्राम में उपयोग किये जाने वाले समस्त तकों ए क्रियाओं का विवरण प्रस्तुत करते हैं। जबकि फ्लोचार्ट के माध्यम से हम डाट तथा कन्ट्रोल के प्रवाह (फ्लो) को निर्दिष्ट प्रतीकों के माध्यम से प्रदर्शित करन हैं। फ्लोचार्ट का उपयोग हम प्रोग्राम लेखन, प्रोग्राम में उत्पन्न दोषों को दू करने में तथा प्रोग्राम को भविष्य में अन्य उपयोगकर्ताओं के समझने हेतु कर हैं।
फ्लो चार्टिंग तकनीक में, निर्दिष्ट प्रतीकों का उपयोग कर प्रोग्राम को प्रस्तु किया जाता है।
मॉड्यूलर डिज़ाईन (Modular Design)
माड्यूलर डिजाईन के अन्तर्गत बड़े अथवा जटिल प्रोग्रामों को छोटे-छोटे घटक अथवा माड्यूल में विभाजित कर दिया जाता है। प्रत्येक माड्यूल को एक निश्चित क्रिया अथवा कार्य के सम्पादन के उद्देश्य से सॉफ्टवेयर डिजाईन (विकास) के अन्तर्गत विभक्त कर दिया जाता है। पश्चात समस्त ऐसे माड्यूलों को एकीकृत (Integrate) करने पर वांछित उद्देश्य की पूर्ति होती है।
We are accepting Guest Posting on our website for all categories.
I want to Hire a Professional..
Sanjeev panday
@DigitalDiaryWefru