फ़्लोचार्टिंग एक एल्गोरिथम का चित्रमय प्रतिनिधित्व ( Graphical Reorientation ) है। यह प्रोग्रामिंग में बुनियादी संचालन का उपयोग करता है। सुचना और किये जाने वाले कार्य के प्रवाह को दिखाने के लिए सभी चिन्ह या प्रतिक एक दूसरे से जुड़े होते हैं। हम आगे क भाग में एक कलन विधि ( एल्गोरिथ्म ) को प्रदर्शित करने के लिए इन चिन्हों का उपयोग करेंगे।
प्रोग्रामिंग भाषा में एल्गोरिदम को व्यक्त करने के कई तरीके हैं। जब एक कलन विधि ( एल्गोरिथ्म ) किसी प्रोग्रामिंग भाषा में लिखी लिखी जाती हैं, तो यह एक प्रोग्राम बन जाता है। इस प्रकार, कोई भी प्रोग्राम एक एल्गोरिथम है, हालांकि रिवर्स सत्य नहीं है। प्रोग्राम्स के रूप में प्रतिनिधित्व के अलावा, एल्गोरिथ्म को अक्सर फ़्लोचार्ट के रूप में व्यक्त किया जाता है जिसकी चर्चा नीचे की गई है -
दूसरे शब्दों में, हम कह सकते हैं कि एक फ़्लोचार्ट एक एल्गोरिथ्म का एक सचित्र प्रतिनिधित्व ( Pictorial Representation ) है जो विभिन्न प्रकार के निर्देशों को दर्शाने के लिए विभिन्न आकृतियों के बक्से का उपयोग करता है। वास्तविक निर्देश स्पष्ट और संक्षिप्त बयानों ( Concise Statements ) का उपयोग करके इन बॉक्स में लिखे गए हैं। ये बॉक्स संचालन के प्रवाह को इंगित करने के लिए तीर के निशान वाली ठोस रेखाओं से जुड़े होते हैं, यानी सटीक क्रम जिसमें निर्देशों को निष्पादित किया जाना है।
आम तौर पर, एक एल्गोरिथ्म को पहले फ़्लोचार्ट के रूप में दर्शाया जाता है और फिर फ़्लोचार्ट को कंप्यूटर प्रोग्राम तैयार करने के लिए कुछ प्रोग्रामिंग भाषा में व्यक्त किया जाता है। प्रोग्राम राइटिंग में इस दो दृष्टिकोण ( Two Approach ) का मुख्य लाभ यह है कि फ़्लोचार्ट बनाते समय प्रोग्रामिंग भाषा के तत्वों के विवरण से संबंधित नहीं है ... इसलिए, वह पूरी तरह से प्रक्रिया के तर्क ( Logic ) पर ध्यान केंद्रित कर सकता है।
इसके अलावा, चूंकि एक फ़्लोचार्ट सचित्र रूप ( Pictorial Form ) में संचालन के प्रवाह को दिखाता है, प्रक्रिया के तर्क में किसी भी त्रुटि को प्रोग्राम के मामले की तुलना में अधिक आसानी से पता लगाया जा सकता है। एक बार फ़्लोचार्ट तैयार हो जाने के बाद, प्रोग्रामर तर्क के बारे में भूल सकता है और प्रोग्रामिंग भाषा के कथनों के संदर्भ में फ़्लोचार्ट के प्रत्येक बॉक्स में संचालन को कोड करने पर ही ध्यान केंद्रित कर सकता है। यह सामान्य रूप से, एक त्रुटि मुक्त कार्यक्रम ( Error-Free Program ) सुनिश्चित करेगा।
इसलिए, एक फ़्लोचार्ट कंप्यूटर प्रोग्राम में शामिल किए जाने वाले तर्क की एक तस्वीर ( A Picture Of The Logic ) है। यह एक कंप्यूटर द्वारा किसी समस्या को हल करने के लिए आवश्यक चरणों के अनुक्रम को व्यवस्थित करने के तरीके पर एक दृश्य, द्वि-आयामी प्रारूप ( Two-Dimensional Format ) में प्रोग्रामर की सहायता करने का एक तरीका है। यह मूल रूप से प्रोग्राम के लिखे जाने पर पालन की जाने वाली योजना है। यह एक प्रोग्रामर के लिए एक मानचित्र ( Map ) की तरह काम करता है और उसे मार्गदर्शन करता है कि कंप्यूटर प्रोग्राम लिखते समय शुरुआती बिंदु से अंतिम बिंदु तक कैसे जाना है।
एक फ़्लोचार्ट एक एल्गोरिथम का एक आरेखीय प्रतिनिधित्व है। एक फ़्लोचार्ट प्रोग्राम लिखने और प्रोग्राम को दूसरों को समझाने दोनों के लिए मददगार हो सकता है। इस लेख में, हम समझेंगे कि विभिन्न उदाहरणों की सहायता से सी प्रोग्रामिंग भाषा में फ्लो चार्ट कैसे बनाया जाता है।
What is a Flowchart? ( फ़्लोचार्ट क्या है? )
फ़्लोचार्ट एक एल्गोरिथम का चित्रमय प्रतिनिधित्व है। प्रोग्रामर अक्सर इसे किसी समस्या को हल करने के लिए प्रोग्राम-प्लानिंग टूल के रूप में उपयोग करते हैं। यह सूचना और प्रसंस्करण के प्रवाह को इंगित करने के लिए प्रतीकों का उपयोग करता है जो उनके बीच जुड़े हुए हैं। एल्गोरिथम के लिए फ़्लोचार्ट बनाने की प्रक्रिया को "फ़्लोचार्टिंग" के रूप में जाना जाता है।
What Do You Mean By Flowchart? ( फ्लोचार्ट से आप क्या समझते हैं ?)
फ़्लोचार्ट एक एल्गोरिथ्म और प्रक्रियात्मक डिज़ाइन ( Procedural Design ) वर्कफ़्लो का सबसे व्यापक रूप से उपयोग किया जाने वाला चित्रमय प्रतिनिधित्व ( Graphical Representation ) है। यह एक कार्यक्रम में पालन किए जाने वाले संचालन और निर्णयों को दिखाने के लिए विभिन्न प्रतीकों का उपयोग करता है। यह अनुक्रमिक क्रम ( Sequential Order ) में बहती है।
Types Of Flowchart ( फ़्लोचार्ट के प्रकार )
विभिन्न प्रकार के फ़्लोचार्ट नीचे दिए गए हैं।
Horizontal Flowchart ( क्षैतिज फ़्लोचार्ट )
Panoramic Flowchart ( पैनोरमिक फ़्लोचार्ट )
Vertical Flowchart ( लंबवत फ़्लोचार्ट )
Architectural Flowchart ( वास्तुकला फ़्लोचार्ट )
Rules Or Guidelines Of Flowchart ( फ़्लोचार्ट के नियम या दिशानिर्देश )
फ़्लोचार्ट बनाने के लिए विभिन्न नियम या दिशानिर्देश नीचे दिए गए हैं;
केवल पारंपरिक फ़्लोचार्ट ( Conventional Flowchart ) प्रतीकों का उपयोग किया जाना चाहिए।
फ़्लोचार्ट में नामों और चरों ( Variables ) का उचित उपयोग।
यदि फ़्लोचार्ट बड़ा और जटिल हो जाता है, तो कनेक्टर प्रतीकों ( Connector Symbols ) का उपयोग करें।
ऑन-पेज कनेक्टर्स को संख्याओं का उपयोग करके संदर्भित किया जाता है।
ऑफ-पेज कनेक्टर को अक्षर का उपयोग करके संदर्भित किया जाता है।
फ़्लोचार्ट में स्टार्ट और स्टॉप पॉइंट होने चाहिए।
प्रक्रियाओं का सामान्य प्रवाह ऊपर से नीचे या बाएं से दाएं होता है।
तीर एक दूसरे को पार नहीं करना चाहिए।
List Of Flowchart Symbols ( फ़्लोचार्ट प्रतीकों की सूची )
फ़्लोचार्ट प्रतीकों की सूची इस प्रकार है;
Terminals ( टर्मिनल्स प्रतीक )
Input/Output ( इनपुट/आउटपुट प्रतीक या अंतर्वेशन/परिणाम प्रतीक )
Decision ( निर्णय प्रतीक )
Flowlines ( फ्लो लाइन्स प्रतीक या प्रवाह रेखाएं प्रतीक )
Processing ( प्रसंस्करण प्रतीक )
Connector ( योजक प्रतीक )
Comment Annotation ( कमेंट अननोटेशन प्रतीक )
Documents ( दस्तावेज प्रतीक )
Pre-Defined Process ( पूर्वनिर्धारित प्रक्रिया प्रतीक या पूर्व परिभाषित कार्य प्रतीक )
Hexagon Symbol ( षट्भुज प्रतीक )
On-Page Reference Symbol ( ऑन-पेज संदर्भ प्रतीक )
Off-Page Reference Symbol ( ऑफ-पेज संदर्भ प्रतीक )
Delay or Bottleneck Symbol ( देरी या अड़चन प्रतीक )
Internal Storage Symbol ( आंतरिक भंडारण प्रतीक )
विभिन्न फ़्लोचार्ट प्रतीकों के अलग-अलग पारंपरिक अर्थ होते हैं। फ़्लोचार्ट डिज़ाइन में उपयोग किए जाने वाले विभिन्न प्रतीक नीचे विस्तारित रूप से समझाया हैं।
01. Terminals Symbol ( टर्मिनल्स प्रतीक )
यह अंडाकार आकार ( Oval Shaped ) का प्रतीक प्रोग्राम लॉजिक फ्लो में टर्मिनेशन पॉइंट, शुरुआत ( START ), एंडिंग ( STOP ) और पॉज़ ( HALT ) को इंगित करने के लिए उपयोग किया जाता है। यह फ्लो चार्ट में उपयोग किया जाने वाला पहला और अंतिम प्रतीक है।
02. Input/Output Symbol ( इनपुट/आउटपुट या अंतर्वेशन/परिणाम प्रतीक )
इस समांतर चतुर्भुज ( Parallelogram ) प्रतीक का उपयोग प्रोग्राम के किसी भी उपकरण में 1 से डेटा या सूचना के इनपुट/आउटपुट के लिए किया जाता है। यह पढ़ने और लिखने के संचालन को इंगित करता है।
03. Decision Symbol ( निर्णय प्रतीक )
इस हीरे ( डायमंड ) के प्रतीक का उपयोग निर्णय ( प्रश्न ) को इंगित करने के लिए किया जाता है और फलस्वरूप एक प्रश्न के अनुरोध के आधार पर पथों की शाखा बिंदुओं ( Branch Points ) का अनुसरण किया जाता है या आधारित होते हैं।
04. Flowline Symbols ( फ्लो लाइन्स या प्रवाह रेखाएं प्रतीक )
एरोहेड्स ( Arrowheads ) के साथ फ्लोलाइन का उपयोग ऑपरेशन के प्रवाह को इंगित करने के लिए किया जाता है, अर्थात सटीक क्रम जिसमें निर्देशों को निष्पादित किया जाना है। फ़्लोचार्ट का सामान्य प्रवाह ऊपर से नीचे और बाएँ से दाएँ होता है।
05. Processing Symbol ( प्रसंस्करण प्रतीक )
एक फ़्लोचार्ट में एक प्रोसेसिंग प्रतीक का उपयोग अंकगणितीय गणनाओं और आंकड़ों या डेटा के मूवमेंट ( गति ) निर्देशों का प्रतिनिधित्व करने के लिए किया जाता है। डेटा को मुख्य मेमोरी के एक स्थान से दूसरे स्थान पर ले जाने की तार्किक प्रक्रिया ( Logical Process ) को भी इस प्रतीक द्वारा दर्शाया जाता है।
06. Connector Symbol ( योजक प्रतीक )
फ़्लोचार्ट के विभिन्न भागों ( Portions ) को जोड़ने के लिए एक कनेक्टर या योजक प्रतीक का उपयोग किया जाता है। यह आमतौर पर तब उपयोग किया जाता है जब फ़्लोचार्ट को विभिन्न पृष्ठों के बीच विभाजित किया जाता है।
एक संख्या या अंग्रेजी भाषा का कोई अक्षर एक वृत्त ( गोले ) के अंदर लिखा जाता हैं। एक दूसरा वृत्त ( गोला ), जिसमे वही संख्या या अक्षर लिखा हों। दोनों एक ही स्थान ( बिंदु ) को प्रदर्शित करते हैं या एक साथ जोड़े दिया जाता हैं।
07. Comment Annotation Symbol ( कमेंट अननोटेशन प्रतीक )
फ़्लोचार्ट के किसी बिंदु को वर्गीकृत करने के लिए प्रक्रिया ( Procedure ) की सामग्री पर टिप्पणियों/रिमार्क को इंगित करने के लिए इस प्रतीक का उपयोग किया जाता है।
08. Documents Symbol ( दस्तावेज प्रतीक )
इसका उपयोग केवल इनपुट आंकड़ों या डेटा को दिखाने के लिए किया जाता है जो कागज ( पेपर ) पर प्राप्त होता है या किसी प्रक्रिया के परिणामस्वरूप उत्पन्न कोई रिपोर्ट के रूप में प्राप्त होते हैं।
09. Pre-Defined Process Symbol ( पूर्वनिर्धारित प्रक्रिया प्रतीक या पूर्व परिभाषित कार्य प्रतीक )
इसका उपयोग यह दिखाने के लिए किया जाता है कि एक प्रक्रिया ( Procedure ) पहले से ही किसी अन्य फ़्लोचार्ट द्वारा परिभाषित ( Define ) की गई है। ऐसे प्रतीक के अंदर उपयुक्त फ़्लोचार्ट का संदर्भ लिखा जाता है। यह वास्तव में कई प्रसंस्करण चरणों को इंगित करता है, जिनका विवरण इस बिंदु पर आवश्यक नहीं है।
10. Hexagon Symbol ( षट्भुज प्रतीक )
इसका उपयोग लूप सेटिंग स्टेटमेंट वाले प्रिपरेशन बॉक्स को बनाने के लिए किया जाता है। नीचे दिए गए चिन्ह का प्रयोग षट्भुज चिन्ह ( प्रतीक ) को निरूपित करने के लिए किया जाता है।
11. On-Page Reference Symbol ( ऑन-पेज संदर्भ प्रतीक )
इस प्रतीक में एक अक्षर होता है जो इंगित करता है कि प्रवाह उसी पृष्ठ पर कहीं और समान अक्षरों वाले मेल खाने ( Matching ) वाले प्रतीक पर जारी है। नीचे दिए गए प्रतीक का उपयोग ऑन-पेज संदर्भ प्रतीक का प्रतिनिधित्व करने के लिए किया जाता है।
📝Note:- इन्हें On-Page Connector भी कहा जाता है।
12. Off-Page Reference Symbol ( ऑफ-पेज संदर्भ प्रतीक )
इस प्रतीक में एक अक्षर होता है जो दर्शाता है कि प्रवाह एक अलग पृष्ठ पर कहीं और एक ही अक्षर वाले मेल खाने ( Matching ) वाले प्रतीक पर जारी है। नीचे दिए गए प्रतीक का उपयोग ऑफ-पेज संदर्भ प्रतीक का प्रतिनिधित्व करने के लिए किया जाता है।
📝Note:- इन्हें Off-Page Connector भी कहा जाता है।
13. Delay or Bottleneck Symbol ( देरी या अड़चन प्रतीक )
फ्लोचार्ट में देरी ( Delay ) की पहचान के लिए इस प्रतीक का उपयोग किया जाता है। देरी ( Delay ) के लिए इस्तेमाल किया जाने वाला वैकल्पिक नाम अड़चन ( Bottleneck ) है। नीचे दिए गए प्रतीक का उपयोग देरी या अड़चन ( Delay Or Bottleneck ) के प्रतीक का प्रतिनिधित्व करने के लिए किया जाता है।
14. Internal Storage Symbol ( आंतरिक भंडारण प्रतीक )
ऊपर दिखाए गए प्रतीक का प्रयोग आंतरिक भंडारण प्रतीक का प्रतिनिधित्व करने के लिए किया जाता है।
Advantages Of Flowchart ( फ़्लोचार्ट के लाभ )
फ़्लोचार्ट के विभिन्न लाभ निम्नलिखित हैं;
Communication ( संचार ):- एक फ़्लोचार्ट किसी प्रोग्राम के तर्क ( Logic ) को संप्रेषित करने का एक बेहतर तरीका है।
Synthesis ( संश्लेषण ):- फ़्लोचार्ट का उपयोग नए प्रोग्राम और सॉफ़्टवेयर सिस्टम को डिज़ाइन करने में कार्यशील मॉडल ( Working Models ) के रूप में किया जाता है।
Efficient Coding ( कुशल कोडिंग ):- फ़्लोचार्ट एक प्रोग्रामर के लिए एक उच्च-स्तरीय भाषा में वास्तविक कोड लिखने के लिए एक मार्गदर्शक के रूप में कार्य करता है।
Proper Debugging ( उचित डिबगिंग ):- फ़्लोचार्ट डिबगिंग प्रक्रिया में मदद करते हैं।
Effective Analysis ( प्रभावी विश्लेषण ):- तार्किक प्रोग्रामों का प्रभावी विश्लेषण संबंधित फ़्लोचार्ट की सहायता से आसानी से किया जा सकता है।
Proper Documentation ( उचित दस्तावेज़ीकरण ):- फ़्लोचार्ट बेहतर और उचित दस्तावेज़ीकरण प्रदान करता है। इसमें विभिन्न गतिविधियाँ शामिल हैं जैसे कि सभी संबंधित प्रोग्राम रिकॉर्ड एकत्र करना, व्यवस्थित करना, भंडारण करना और बनाए रखना।
Testing ( परीक्षण ):- एक फ़्लोचार्ट परीक्षण प्रक्रिया में मदद करता है।
Efficient Program Maintenance ( कुशल प्रोग्राम रखरखाव ):- फ्लोचार्ट की मदद से प्रोग्राम का रखरखाव आसान हो जाता है।
Blueprint ( ब्लूप्रिंट ):- फ़्लोचार्ट डिज़ाइन किए गए प्रोग्राम के दौरान ब्लूप्रिंट के लिए एक गाइड के रूप में कार्य करता है।
Disadvantages Of Flowchart ( फ़्लोचार्ट के नुकसान )
फ़्लोचार्ट के विभिन्न नुकसान निम्नलिखित हैं;
Time-consuming ( समय लेने वाली ):- फ़्लोचार्ट डिज़ाइन करना एक बहुत ही ज्यादा समय लेने वाली प्रक्रिया है।
Complex ( जटिल ):- बड़े और प्रोग्रामों के लिए फ़्लोचार्ट बनाना आसान नहीं है।
There is no standard ( फ़्लोचार्ट में कोई मानक नहीं है ):- विवरण की मात्रा निर्धारित करने के लिए कोई मानक नहीं है।
Difficult To Modify ( संशोधित करना मुश्किल ):- मौजूदा फ़्लोचार्ट को संशोधित करना बहुत मुश्किल है।
Reproduce ( पुन: पेश करना ):- फ़्लोचार्ट को पुन: पेश करना मुश्किल है।
Examples Of Flowcharts In Programming ( प्रोग्रामिंग में फ़्लोचार्ट के उदाहरण )
01. Add Two Numbers Entered By The User. ( उपयोगकर्ता द्वारा दर्ज किए गए दो नंबर जोड़ें। )
02. Find The Largest Among Three Different Numbers Entered By The User. ( उपयोगकर्ता द्वारा दर्ज की गई तीन अलग-अलग संख्याओं में से सबसे बड़ी संख्या ज्ञात करें। )
03. Design A Flowchart For Calculating The Profit & Loss According To The Value Entered By The User. ( उपयोगकर्ता द्वारा दर्ज किए गए मूल्य के अनुसार लाभ और हानि की गणना के लिए एक फ़्लोचार्ट डिज़ाइन करें। )
04. Draw A Flowchart To Calculate The Average Of Two Numbers. ( दो संख्याओं के औसत की गणना करने के लिए एक फ़्लोचार्ट बनाएं। )
05. Find all the roots of a quadratic equation ax2+bx+c=0 ( द्विघात समीकरण के सभी मूल ज्ञात कीजिए ax2+bx+c=0 )
06. Design A Flowchart For The Multiplication Of Three Numbers Entered By The User. ( उपयोगकर्ता द्वारा दर्ज की गई तीन संख्याओं के गुणन के लिए एक फ़्लोचार्ट डिज़ाइन करें। )
07. Design A Flowchart For Calculating The Area Of A Rectangle. ( एक आयत के क्षेत्रफल की गणना के लिए एक फ़्लोचार्ट डिज़ाइन करें। )
08. Find the Fibonacci series till term≤1000. ( term≤1000 तक फाइबोनैचि श्रेणी ज्ञात कीजिए। )
📝Note:- हालांकि फ़्लोचार्ट किसी प्रोग्राम को लिखने और उसका विश्लेषण करने के लिए उपयोगी हो सकते हैं, जटिल प्रोग्राम के लिए फ़्लोचार्ट बनाना प्रोग्राम को लिखने की तुलना में अधिक जटिल हो सकता है। इसलिए, जटिल कार्यक्रमों के लिए फ़्लोचार्ट बनाने की अक्सर उपेक्षा की जाती है।
Comments