एल्गोरिदम और फ़्लोचार्ट (Algorithms and Flowcharts)
कक्षा 6 कंप्यूटर विज्ञान के पाठ्यक्रम में 'एल्गोरिदम एवं फ्लोचार्ट' (Algorithms and Flowcharts) अध्याय एक अत्यंत आधारभूत और क्रांतिकारी पड़ाव है। आधुनिक युग में कंप्यूटर कोडिंग केवल कीबोर्ड पर कोड टाइप करने का नाम नहीं है; वास्तविक कोडिंग का 80 प्रतिशत कार्य मस्तिष्क में तार्किक रूप से समस्या को सुलझाने और उसका सटीक ब्लूप्रिंट तैयार करने में व्यतीत होता है। यह अध्याय विद्यार्थियों को एक उपभोक्ता (Consumer) से वास्तविक निर्माता और तार्किक समस्या-समाधानकर्ता (Problem Solver) के रूप में रूपांतरित करने का वैज्ञानिक मंच प्रदान करता है।
इस व्यापक अध्ययन सामग्री को बिहार विद्यालय परीक्षा समिति (BSEB) के नवीनतम शैक्षणिक दिशानिर्देशों और राष्ट्रीय शिक्षा नीति 2020 (NEP 2020) के कम्प्यूटेशनल थिंकिंग उद्देश्यों के पूर्ण सामंजस्य में 7 प्रमुख वैचारिक इकाइयों में विभाजित किया गया है:
प्रथम इकाई 'समस्या-समाधान का जीवन चक्र एवं एल्गोरिदम की संरचना' में विद्यार्थियों को कंप्यूटर विज्ञान के 5-चरणीय वैज्ञानिक समस्या समाधान चक्र से परिचित कराया जाता है। इसमें समस्या की सटीक पहचान, इनपुट-प्रोसेस-आउटपुट-स्टोरेज (IPOS) मॉडल, एल्गोरिदम के अनिवार्य गुण (परिमितता, निश्चितता, प्रभावशीलता, इनपुट एवं आउटपुट) तथा दैनिक जीवन के व्यावहारिक उदाहरणों जैसे दो संख्याओं का योग, औसत ज्ञात करना और दैनिक दिनचर्या का निर्माण शामिल है।
द्वितीय इकाई 'फ्लोचार्ट की नींव एवं मानक ANSI / ISO ज्यामितीय प्रतीक' में दृश्य प्रोग्रामिंग के सार्वभौमिक नियमों की विस्तृत व्याख्या की गई है। इसमें अमेरिकन नेशनल स्टैंडर्ड्स इंस्टीट्यूट (ANSI) और इंटरनेशनल ऑर्गनाइजेशन फॉर स्टैंडर्डाइजेशन (ISO) द्वारा स्वीकृत 6 मानक प्रतीकों - टर्मिनल प्रतीक (दीर्घवृत्त), इनपुट/आउटपुट प्रतीक (समानांतर चतुर्भुज), प्रक्रिया प्रतीक (आयत), निर्णय प्रतीक (समचतुर्भुज), प्रवाह रेखाएं (तीर) और कनेक्टर (छोटा वृत्त) के ज्यामितीय नियमों, प्रवेश व निकास सीमाओं और उनके सटीक व्यावहारिक उपयोगों का गहन अध्ययन कराया गया है।
तृतीय इकाई 'रेखीय अनुक्रम नियंत्रण संरचना' (Sequence Structure) में बिना किसी शर्त या मोड़ के ऊपर से नीचे सीधे चलने वाले रेखीय प्रवाह का विश्लेषण किया गया है। विद्यार्थी आयत का क्षेत्रफल, वृत्त की परिधि, साधारण ब्याज और तापमान रूपांतरण (सेल्सियस से फारेनहाइट) के शुद्ध रेखीय एल्गोरिदम और फ्लोचार्ट बनाना सीखते हैं।
चतुर्थ इकाई 'चयन एवं सशर्त शाखाकरण संरचनाएं' (Selection / Branching Structure) में निर्णय लेने की तार्किक प्रक्रिया का अनावरण किया गया है। जब कंप्यूटर के सामने कोई शर्त (Condition) आती है, तो वह बूलियन तर्क (हाँ अथवा नहीं / सत्य अथवा असत्य) के आधार पर दो अलग-अलग मार्गों पर आगे बढ़ता है। इसमें दो या तीन संख्याओं में सबसे बड़ी संख्या ज्ञात करना, सम-विषम (Even/Odd) पहचान, परीक्षा में उत्तीर्ण-अनुत्तीर्ण निर्णय और मतदान पात्रता (आयु 18 वर्ष या अधिक) जैसे महत्वपूर्ण बोर्ड परीक्षा प्रश्नों को समाहित किया गया है।
पंचम इकाई 'पुनरावृत्ति, लूपिंग एवं संचायक प्रतिमान' (Iteration / Loops & Accumulator Pattern) में कंप्यूटर की सबसे बड़ी शक्ति - निर्देशों को बिना थके लाखों बार दोहराने की क्षमता - को उद्घाटित किया गया है। इसमें संचायक (Accumulator) और काउंटर (Counter) चरों की संकल्पना, लूप का आरंभीकरण (Initialization), शर्त परीक्षण (Condition Check) और काउंटर अद्यतन (Counter Update) के 3-चरणीय चक्र को स्पष्ट किया गया है। प्रथम 10 प्राकृत संख्याओं का मुद्रण, 1 से N तक की संख्याओं का योग और पहाड़ों (Tables) का निर्माण इस इकाई के मुख्य केंद्र हैं।
षष्ठ इकाई 'तुलनात्मक विश्लेषण: एल्गोरिदम, स्यूडोकोड एवं फ्लोचार्ट' में समस्या-समाधान के तीनों प्रमुख प्रारूपों की शक्तियों, सीमाओं और रूपांतरण तकनीकों का तुलनात्मक अध्ययन प्रस्तुत किया गया है। एल्गोरिदम की सरलता, फ्लोचार्ट की दृश्य स्पष्टता और स्यूडोकोड की प्रोग्रामिंग निकटता को एक सुव्यवस्थित त्रि-मार्गी तुलनात्मक मैट्रिक्स के माध्यम से समझाया गया है।
सप्तम इकाई 'एल्गोरिदम ट्रेसिंग, ट्रेस टेबल्स एवं व्यवस्थित डीबगिंग' में विद्यार्थियों को वास्तविक सॉफ्टवेयर इंजीनियरों की तरह 'ड्राई-रन' (Dry Run) तकनीक सिखाई जाती है। बिना कंप्यूटर के कागज़-कलम पर ट्रेस टेबल बनाकर चरों के बदलते मानों को दर्ज करना, अनंत लूप (Infinite Loop) की पहचान करना, ऑफ-बाय-वन (Off-by-One) त्रुटियों को सुधारना और लॉजिक बग्स को दूर करने का 4-चरणीय वैज्ञानिक तरीका इस अध्याय की सबसे व्यावहारिक और उच्च-अंकदायी विशेषता है।
क्या आपने कभी सोचा है कि जब आपकी मां रसोई में स्वादिष्ट खीर या चाय बनाती हैं, तो वह कभी भी चीनी डालने से पहले गैस बंद नहीं करतीं, या चावल डालने से पहले दूध में उबाल आने की प्रतीक्षा क्यों करती हैं? या फिर जब विद्यालय में सुबह की प्रार्थना सभा (Morning Assembly) आयोजित होती है, तो पहले पंक्तिबद्ध होना, फिर प्रार्थना, उसके बाद राष्ट्रगान और अंत में वर्ग-कक्ष में प्रस्थान का एक निश्चित क्रम क्यों होता है? यदि कोई व्यक्ति इन चरणों को उलट-पुलट कर दे, तो परिणाम पूरी तरह बिगड़ जाएगा। ठीक इसी प्रकार, कंप्यूटर भी किसी जादू या चमत्कार से काम नहीं करता। कंप्यूटर एक अत्यंत आज्ञाकारी किंतु स्वयं सोचने-समझने में असमर्थ इलेक्ट्रॉनिक साधन है। उसे अपने प्रत्येक कार्य को पूरा करने के लिए स्पष्ट, त्रुटिहीन, क्रमबद्ध और असंदिग्ध निर्देशों की आवश्यकता होती है। किसी भी समस्या को हल करने के लिए बनाई गई इसी चरणबद्ध तार्किक कार्ययोजना को कंप्यूटर विज्ञान में 'एल्गोरिदम' (Algorithm) कहा जाता है, और जब इसी योजना को अंतरराष्ट्रीय मानक ज्यामितीय प्रतीकों और तीरों की सहायता से एक सुंदर दृश्य चित्र के रूप में प्रस्तुत किया जाता है, तो उसे 'फ्लोचार्ट' (Flowchart) कहते हैं। आइए, इस अध्याय में हम कंप्यूटर प्रोग्रामर की भांति सोचना, किसी भी जटिल समस्या का सटीक विश्लेषण करना और उसे कंप्यूटर के समझने योग्य तार्किक ब्लूप्रिंट में ढालना सीखें!
यह अध्याय क्यों महत्वपूर्ण है
बिहार के प्रत्येक छात्र के लिए एल्गोरिदम और फ्लोचार्ट का अध्ययन केवल कंप्यूटर विषय में अंक लाने तक सीमित नहीं है, बल्कि यह उनके तार्किक और बौद्धिक विकास का आधारस्तंभ है। राष्ट्रीय शिक्षा नीति 2020 (NEP 2020) के अंतर्गत विद्यालयी शिक्षा के मिडिल स्तर (कक्षा 6 से 8) से ही कोडिंग और कम्प्यूटेशनल थिंकिंग को अनिवार्य कौशल के रूप में मान्यता दी गई है। बिहार शिक्षा परियोजना परिषद (BEPC) द्वारा राज्य भर के राजकीय मध्य और माध्यमिक विद्यालयों में अत्याधुनिक आईसीटी प्रयोगशालाएं (ICT Labs) स्थापित की जा रही हैं, जहां पटना, मुजफ्फरपुर, गया, भागलपुर, दरभंगा, पूर्णिया और नालंदा से लेकर सुदूर ग्रामीण अंचलों के छात्र कंप्यूटर पर प्रत्यक्ष अभ्यास कर रहे हैं।
एल्गोरिदम और फ्लोचार्ट का ज्ञान छात्रों को एक ऐसा मानसिक ढांचा (Mental Framework) प्रदान करता है जो गणित, विज्ञान और दैनिक जीवन की जटिलतम समस्याओं को छोटे-छोटे प्रबंधनीय चरणों में तोड़कर हल करना सिखाता है। जब एक छात्र दो संख्याओं की तुलना करने या संख्याओं का योग निकालने के लिए फ्लोचार्ट बनाता है, तो वह वस्तुतः भविष्य की आधुनिक प्रोग्रामिंग भाषाओं जैसे स्क्रैच (Scratch), पायथन (Python), सी (C) और जावा (Java) की वैचारिक नींव रख रहा होता है।
इसके अतिरिक्त, राज्य स्तरीय एवं राष्ट्रीय बाल विज्ञान कांग्रेस (National Children's Science Congress), इंस्पायर अवार्ड मानक योजना और राज्य स्तरीय कंप्यूटर ओलंपियाड में बिहार के जो छात्र अग्रणी स्थान प्राप्त करते हैं, उनके प्रोजेक्ट्स की मूल आत्मा यही तार्किक योजना होती है। यह अध्याय छात्रों को भ्रम और अंध-अनुमान से मुक्त कर वैज्ञानिक यथार्थवाद, व्यवस्थित सोच और त्रुटिहीन निर्णय लेने की क्षमता प्रदान करता है जो 21वीं सदी के डिजिटल युग में सफलता की अनिवार्य कुंजी है।
अध्ययन से पूर्व (आवश्यक ज्ञान)
कंप्यूटर के बुनियादी घटकों की समझ: इनपुट उपकरण (कीबोर्ड, माउस), प्रोसेसिंग यूनिट (सीपीयू), आउटपुट उपकरण (मॉनिटर, प्रिंटर) और मेमोरी की कार्यप्रणाली।
प्राथमिक गणितीय संक्रियाएं: जोड़ (+), घटाव (-), गुणा (*), भाग (/), और शेषफल (Modulus) की स्पष्ट समझ।
तुलनात्मक एवं तार्किक ऑपरेटरों का ज्ञान: बड़ा है (>), छोटा है (<), बराबर है (=), बड़ा या बराबर (>=), छोटा या बराबर (<=) और असमानता (!=) का अर्थ।
चरणबद्ध सोचने की क्षमता: किसी दैनिक कार्य (जैसे चाय बनाना, स्कूल बैग तैयार करना, या पुस्तकालय से पुस्तक लेना) को तार्किक अनुक्रम में लिखने का अभ्यास।
स्क्रैच 3.0 अथवा विज़ुअल प्रोग्रामिंग का प्राथमिक परिचय: ब्लॉक्स के जुड़ने, घटनाओं (Events) और लूप्स (Loops) की सामान्य समझ।
इस अध्याय के लक्ष्य
स्मरण (Remembering - ज्ञान): एल्गोरिदम एवं फ्लोचार्ट की परिभाषा, इसके ऐतिहासिक विकास (अल-ख्वारिज्मी का योगदान) और 6 मानक ANSI/ISO प्रतीकों के नामों को पुनः स्मरण कर सकेंगे।
अवबोध (Understanding - समझ): एल्गोरिदम के पांच आवश्यक गुणों (परिमितता, निश्चितता, इनपुट, आउटपुट, प्रभावशीलता) तथा एल्गोरिदम, स्यूडोकोड और फ्लोचार्ट के बीच अंतर को स्पष्ट कर सकेंगे।
अनुप्रयोग (Applying - निर्माण): दैनिक जीवन तथा गणितीय समस्याओं (जैसे दो संख्याओं का योग, औसत, साधारण ब्याज, क्षेत्रफल) के लिए मानक रेखीय एल्गोरिदम और फ्लोचार्ट का निर्माण कर सकेंगे।
तार्किक विश्लेषण (Analyzing - निर्णय): चयन संरचना (Selection / Branching) का उपयोग करके दो या तीन संख्याओं में तुलना, सम-विषम पहचान और परीक्षा परिणाम (Pass/Fail) के कंडीशनल फ्लोचार्ट बना सकेंगे।
लूप डिजाइन (Applying - पुनरावृत्ति): काउंटर (Counter) और संचायक (Accumulator) का प्रयोग करके प्रथम N प्राकृत संख्याओं के मुद्रण एवं योग हेतु पुनरावृत्ति (Iteration / Loop) संरचना तैयार कर सकेंगे।
शुद्धता परीक्षण (Evaluating - ड्राई रन): बिना कंप्यूटर के कागज़-कलम पर ट्रेस टेबल (Trace Table) बनाकर एल्गोरिदम का चरण-दर-चरण ड्राई-रन कर सकेंगे और प्रत्येक चरण पर चरों के मानों का सत्यापन कर सकेंगे।
त्रुटि निवारण (Evaluating - डीबगिंग): अनंत लूप (Infinite Loop), ऑफ-बाय-वन (Off-by-One) सीमा त्रुटि और तीर-नियम उल्लंघन जैसे सामान्य तार्किक दोषों की सटीक पहचान और सुधार कर सकेंगे।
संरचना रूपांतरण (Creating - अनुवाद): किसी दिए गए एल्गोरिदम को फ्लोचार्ट में तथा फ्लोचार्ट को स्क्रैच ब्लॉक्स अथवा मानक स्यूडोकोड में सटीकता से रूपांतरित कर सकेंगे।
जटिल समस्या अपघटन (Analyzing - Decomposition): किसी बड़ी बहु-चरणीय समस्या (जैसे बिजली बिल गणना या छात्र ग्रेडिंग प्रणाली) को छोटे उप-कार्यों में विभाजित कर नेस्टेड निर्णय प्रवाह आरेखित कर सकेंगे।
मानकीकरण एवं प्रस्तुति (Creating - संश्लेषण): बिहार बोर्ड परीक्षा के निर्धारित अंकन मानदंडों के अनुरूप स्वच्छ, सुपाठ्य, शीर्ष-से-तल (Top-to-Bottom) प्रवाह रेखाओं से युक्त मानक फ्लोचार्ट प्रस्तुत कर सकेंगे।
अध्याय रूपरेखा एवं प्रगति
1इकाई 1: समस्या-समाधान का जीवन चक्र...
2इकाई 2: फ्लोचार्ट की नींव एवं मानक...
3इकाई 3: रेखीय अनुक्रम नियंत्रण संरच...
4इकाई 4: चयन एवं सशर्त शाखाकरण संरचन...
5इकाई 5: पुनरावृत्ति, लूपिंग एवं संच...
6इकाई 6: तुलनात्मक विश्लेषण: एल्गोरि...
7इकाई 7: एल्गोरिदम ट्रेसिंग, ट्रेस ट...
सम्पूर्ण सैद्धांतिक एवं वैचारिक अध्ययन
इकाई 1: समस्या-समाधान का जीवन चक्र एवं एल्गोरिदम की संरचना
1.1 कंप्यूटर विज्ञान में समस्या-समाधान का व्यवस्थित जीवन चक्र (Problem-Solving Lifecycle)
कंप्यूटर विज्ञान में किसी भी वास्तविक समस्या का समाधान सीधे कंप्यूटर स्क्रीन पर कोड टाइप करने से शुरू नहीं होता। जिस प्रकार एक कुशल वास्तुकार (Architect) भव्य भवन का निर्माण करने से पहले उसका विस्तृत नक्शा (Blue-print) तैयार करता है, ठीक उसी प्रकार एक चतुर कंप्यूटर प्रोग्रामर कोडिंग से पूर्व समस्या का गहन विश्लेषण और उसकी तार्किक रूपरेखा तैयार करता है। इस वैज्ञानिक प्रक्रिया को 'समस्या-समाधान जीवन चक्र' (Problem-Solving Lifecycle) कहा जाता है।
कंप्यूटर विज्ञान का यह जीवन चक्र 5 सुव्यवस्थित चरणों में विभाजित है:
चरण 1: समस्या की पहचान एवं विश्लेषण (Problem Definition & Analysis): समस्या क्या है? हमें कौन-सा डेटा इनपुट के रूप में मिलेगा और अंतिम परिणाम (आउटपुट) के रूप में क्या अपेक्षित है? इस चरण में IPOS मॉडल (Input-Process-Output-Storage) लागू किया जाता है।
चरण 2: एल्गोरिदम निर्माण (Algorithm Formulation): समस्या को सुलझाने के लिए प्राकृतिक भाषा (जैसे हिंदी या सरल अंग्रेजी) में क्रमिक, चरणबद्ध और असंदिग्ध तार्किक निर्देशों की सूची तैयार की जाती है।
चरण 3: फ्लोचार्ट का चित्रांकन (Flowchart Blueprinting): एल्गोरिदम के मौखिक चरणों को अंतरराष्ट्रीय मानक ANSI/ISO ज्यामितीय प्रतीकों और तीरों की सहायता से एक दृश्य प्रवाह-चित्र (Visual Diagram) में ढाला जाता है।
चरण 4: कोडिंग एवं क्रियान्वयन (Coding & Implementation): स्वीकृत फ्लोचार्ट को किसी विशिष्ट प्रोग्रामिंग भाषा (जैसे Scratch, Python, C, या Basic) के सिंटैक्स में अनुवादित करके कार्यकारी सॉफ्टवेयर बनाया जाता है।
चरण 5: परीक्षण, ट्रेसिंग एवं डीबगिंग (Testing, Tracing & Debugging): निर्मित प्रोग्राम को विभिन्न इनपुट मानों पर चलाकर जांचा जाता है। यदि कोई तार्किक त्रुटि (Logic Bug) मिले, तो ड्राई-रन (Dry Run) और ट्रेस टेबल द्वारा उसे खोजकर सुधारा जाता है।
1.2 एल्गोरिदम क्या है? (What is an Algorithm?)
एल्गोरिदम की औपचारिक परिभाषा: किसी पूर्व-निर्धारित समस्या को सीमित समय और सीमित चरणों में हल करने के लिए क्रमबद्ध, तार्किक और असंदिग्ध (Unambiguous) निर्देशों के सुव्यवस्थित समूह को एल्गोरिदम (Algorithm) कहते हैं।
ऐतिहासिक संदर्भ: 'एल्गोरिदम' शब्द की उत्पत्ति
'एल्गोरिदम' शब्द का नामकरण 9वीं शताब्दी के प्रसिद्ध फारसी गणितज्ञ और खगोलशास्त्री अबू जाफर मुहम्मद इब्न मूसा अल-ख्वारिज्मी (Abu Ja'far Muhammad ibn Musa al-Khwarizmi) के लैटिन नाम 'Algoritmi' से हुआ है। उन्होंने ही दशमलव संख्या प्रणाली और बीजगणित (Algebra) के चरणबद्ध नियमों की नींव रखी थी।
1.3 एक उत्तम एल्गोरिदम के 5 अनिवार्य गुण (Characteristics of a Good Algorithm)
कंप्यूटर विज्ञान के जनक डोनाल्ड नुथ (Donald Knuth) के अनुसार, किसी भी निर्देश-सूची को तभी एक 'मान्य एल्गोरिदम' माना जा सकता है जब वह निम्नलिखित 5 वैज्ञानिक मापदंडों पर खरी उतरे:
1. इनपुट (Input - निर्दिष्ट आगमन)
एल्गोरिदम में शून्य या उससे अधिक स्पष्ट रूप से परिभाषित इनपुट मान होने चाहिए जो बाहरी स्रोत से प्राप्त होते हैं।
2. आउटपुट (Output - निश्चित परिणाम)
एल्गोरिदम को कम से कम एक सुपरिभाषित आउटपुट या परिणाम अवश्य उत्पन्न करना चाहिए जो समस्या का समाधान प्रस्तुत करे।
3. निश्चितता (Definiteness / स्पष्टता)
प्रत्येक निर्देश पूरी तरह स्पष्ट, असंदिग्ध और एकार्थक होना चाहिए। निर्देश का कोई भी द्विअर्थी या भ्रामक अर्थ नहीं निकलना चाहिए।
4. परिमितता (Finiteness - सीमित चरण)
एल्गोरिदम निश्चित चरणों की संख्या के बाद अवश्य समाप्त होना चाहिए। यह कभी भी किसी अनंत लूप (Infinite Loop) में नहीं उलझना चाहिए।
5. प्रभावशीलता एवं व्यवहार्यता (Effectiveness & Feasibility)
एल्गोरिदम का प्रत्येक निर्देश इतना सरल, व्यावहारिक और बुनियादी होना चाहिए कि एक व्यक्ति कागज़ और कलम से भी उसे सीमित समय में निष्पादित कर सके।
1.4 दैनिक जीवन एवं गणितीय एल्गोरिदम के व्यावहारिक उदाहरण
एल्गोरिदम का उपयोग हम अनजाने में अपनी दिनचर्या में प्रतिदिन करते हैं। आइए दो उदाहरणों से इसे समझें:
उदाहरण A: दैनिक जीवन - चाय बनाने का एल्गोरिदम
चरण 1: प्रारंभ करें (Start)।
चरण 2: एक बर्तन में एक कप पानी लें।
चरण 3: गैस चूल्हा जलाएं और बर्तन को उस पर रखें।
चरण 4: पानी में उबाल आने पर चायपत्ती और चीनी डालें।
चरण 5: एक कप दूध मिलाएं और 2 मिनट तक खौलाएं।
चरण 6: गैस बंद करें और चाय को कप में छान लें।
चरण 7: गर्म चाय परोसें और समाप्त करें (Stop)।
उदाहरण B: गणितीय - दो संख्याओं का योग ज्ञात करना
चरण 1: प्रारंभ करें (Start)।
चरण 2: प्रथम संख्या इनपुट लें और चर A में रखें (Input A)।
चरण 3: द्वितीय संख्या इनपुट लें और चर B में रखें (Input B)।
चरण 4: दोनों संख्याओं को जोड़कर चर Sum में रखें (Sum = A + B)।
चरण 5: योगफल का मान स्क्रीन पर प्रदर्शित करें (Print Sum)।
चरण 6: कार्य समाप्त करें (Stop)।
इकाई 2: फ्लोचार्ट की नींव एवं मानक ANSI / ISO ज्यामितीय प्रतीक
2.1 फ्लोचार्ट क्या है? (What is a Flowchart?)
फ्लोचार्ट की परिभाषा: किसी समस्या को हल करने के लिए एल्गोरिदम के विभिन्न चरणों को मानक ज्यामितीय आकारों (Geometric Shapes) और प्रवाह तीरों (Flow Arrows) की सहायता से एक आरेख या चित्र के रूप में प्रस्तुत करना फ्लोचार्ट (Flowchart) कहलाता है।
एक चीनी कहावत है - "एक चित्र एक हज़ार शब्दों के बराबर होता है।" जब हम किसी लंबे और जटिल एल्गोरिदम को शब्दों में पढ़ते हैं, तो मस्तिष्क को उसके प्रवाह को समझने में समय लगता है। किंतु जब उसी प्रक्रिया को फ्लोचार्ट के रूप में देखा जाता है, तो आंखों के सामने तुरंत स्पष्ट हो जाता है कि डेटा कहाँ से आ रहा है, कहाँ गणना हो रही है, कहाँ निर्णय लिया जा रहा है और अंतिम परिणाम कहाँ जा रहा है।
2.2 मानक ANSI / ISO फ्लोचार्ट प्रतीक विनिर्देश तालिका
फ्लोचार्ट बनाते समय अपनी मर्ज़ी से कोई भी आकृति नहीं बनाई जा सकती। अमेरिकन नेशनल स्टैंडर्ड्स इंस्टीट्यूट (ANSI) और इंटरनेशनल ऑर्गनाइजेशन फॉर स्टैंडर्डाइजेशन (ISO) ने फ्लोचार्ट के लिए कुछ सार्वभौमिक ज्यामितीय प्रतीक तय किए हैं, जिनका पालन विश्व भर के सभी प्रोग्रामर करते हैं:
क्र.सं.
प्रतीक का नाम
ज्यामितीय आकार
विशिष्ट कार्य एवं अर्थ
प्रवाह रेखा (Line) नियम
1
टर्मिनल प्रतीक (Terminal)
दीर्घवृत्त या गोल किनारों वाला आयत (Oval / Capsule)
फ्लोचार्ट का आरंभ (START) अथवा समाप्ति (STOP) दर्शाने के लिए।
Start से केवल 1 निकास रेखा निकलती है। Stop पर केवल 1 प्रवेश रेखा आती है।
2
इनपुट / आउटपुट प्रतीक (Input/Output)
समानांतर चतुर्भुज (Parallelogram)
उपयोगकर्ता से डेटा प्राप्त करना (Read/Input) या परिणाम दिखाना (Print/Display)।
ठीक 1 प्रवेश रेखा (ऊपर से) और ठीक 1 निकास रेखा (नीचे से)।
3
प्रक्रिया प्रतीक (Processing)
आयत (Rectangle)
गणितीय गणनाएं, सूत्र लागू करना (उदा. Sum = A + B) और चरों को मान देना।
ठीक 1 प्रवेश रेखा और ठीक 1 निकास रेखा। कभी 2 निकास नहीं हो सकते।
4
निर्णय प्रतीक (Decision)
समचतुर्भुज या डायमंड (Rhombus / Diamond)
सशर्त तुलना या तार्किक प्रश्न (उदा. क्या A > B?) पूछकर दो रास्तों में बांटना।
ठीक 1 प्रवेश रेखा और ठीक 2 निकास रेखाएं (हाँ/Yes और नहीं/No)।
5
प्रवाह रेखाएं (Flow Lines)
तीर युक्त सीधी रेखाएं (Arrows: ↓, →, ↑, ←)
निर्देशों के निष्पादन का सही क्रम और दिशा दर्शाने के लिए।
बिना तीर के साधारण रेखा अवैध है। तीर की नोक प्रवाह की दिशा बताती है।
6
कनेक्टर प्रतीक (Connector)
छोटा वृत्त (Small Circle)
एक ही पृष्ठ पर जटिल या टूटी हुई प्रवाह रेखाओं को बिना क्रॉस किए जोड़ना।
इसके भीतर समान पहचान अक्षर (जैसे 'A' या '1') लिखा जाता है।
2.3 फ्लोचार्ट निर्माण के 5 स्वर्ण नियम (Golden Rules for Flowcharting)
नियम 1 (दिशा): फ्लोचार्ट का सामान्य प्रवाह हमेशा ऊपर से नीचे (Top to Bottom) अथवा बाएँ से दाएँ (Left to Right) होना चाहिए।
नियम 2 (तीर की अनिवार्यता): प्रत्येक प्रवाह रेखा पर तीर का सिरा (Arrowhead) होना अनिवार्य है ताकि पाठक को निष्पादन की दिशा तुरंत ज्ञात हो।
नियम 3 (प्रवेश व निकास सीमा): आयत (Process) और समानांतर चतुर्भुज (I/O) से केवल 1 निकास रेखा निकल सकती है। केवल समचतुर्भुज (Decision) ही वह एकमात्र प्रतीक है जिससे 2 निकास रेखाएं (Yes/No) निकलती हैं।
नियम 4 (रेखाओं का कटाव निषेध): प्रवाह रेखाओं को एक-दूसरे के ऊपर से नहीं काटना चाहिए। यदि क्रॉसिंग अपरिहार्य हो, तो कनेक्टर (Circle) का उपयोग करें।
नियम 5 (शब्दों की स्पष्टता): प्रतीकों के भीतर लिखे गए निर्देश संक्षिप्त, स्पष्ट और तकनीकी रूप से सटीक होने चाहिए (उदा. 'A = A + 1' न कि 'A में एक जोड़ दो')।
इकाई 3: रेखीय अनुक्रम नियंत्रण संरचना
3.1 रेखीय अनुक्रम नियंत्रण संरचना (Sequence Control Structure)
अनुक्रम संरचना की परिभाषा: जब किसी प्रोग्राम में सभी निर्देश ऊपर से नीचे एक सीधी रेखा में, एक के बाद एक, ठीक एक बार निष्पादित होते हैं - बिना किसी निर्णय, शर्त या दोहराव के - तो उसे रेखीय अनुक्रम संरचना (Straight-Line Sequence Structure) कहा जाता है।
यह प्रोग्रामिंग की सबसे सरल और मौलिक नियंत्रण संरचना है। इसमें प्रोग्राम का निष्पादन पहली पंक्ति से शुरू होता है और अंतिम पंक्ति तक बिना किसी विचलन के सीधा आगे बढ़ता है।
3.2 परीक्षा के तीन आदर्श रेखीय एल्गोरिदम एवं फ्लोचार्ट
मॉडल 1: आयत का क्षेत्रफल एवं परिमाप ज्ञात करना (Area & Perimeter of Rectangle)
एल्गोरिदम (Algorithm):
चरण 1: प्रारंभ करें (Start)।
चरण 2: लंबाई (L) और चौड़ाई (B) का मान इनपुट लें (Input L, B)।
चरण 5: Area और Perimeter का मान प्रदर्शित करें (Print Area, Perimeter)।
चरण 6: समाप्त करें (Stop)।
प्रतीक अनुक्रम (Symbol Flow):
Oval: Start ↓ Parallelogram: Input L, B ↓ Rectangle: Area = L * B, Peri = 2*(L+B) ↓ Parallelogram: Print Area, Peri ↓ Oval: Stop
मॉडल 2: साधारण ब्याज की गणना करना (Calculation of Simple Interest)
एल्गोरिदम (Algorithm):
चरण 1: प्रारंभ करें (Start)।
चरण 2: मूलधन (P), ब्याज दर (R) और समय (T) इनपुट लें (Input P, R, T)।
चरण 3: साधारण ब्याज की गणना करें: SI = (P * R * T) / 100।
चरण 4: कुल मिश्रधन ज्ञात करें: Total = P + SI।
चरण 5: SI और Total का मान प्रिंट करें (Print SI, Total)।
चरण 6: समाप्त करें (Stop)।
प्रतीक अनुक्रम (Symbol Flow):
Oval: Start ↓ Parallelogram: Input P, R, T ↓ Rectangle: SI = (P*R*T)/100 ↓ Parallelogram: Print SI, Total ↓ Oval: Stop
इकाई 4: चयन एवं सशर्त शाखाकरण संरचनाएं
4.1 चयन एवं सशर्त शाखाकरण संरचना (Selection / Branching Structure)
चयन संरचना की परिभाषा: जब किसी प्रोग्राम में किसी शर्त (Condition) की जांच की जाती है, और उस शर्त के सत्य (True/Yes) या असत्य (False/No) होने के आधार पर प्रोग्राम का प्रवाह दो या अधिक भिन्न मार्गों में विभाजित हो जाता है, तो उसे चयन अथवा शाखाकरण संरचना (Selection or Branching Structure) कहते हैं।
वास्तविक जीवन में हम प्रतिदिन निर्णय लेते हैं - "यदि आज वर्षा होगी, तो मैं छाता लेकर जाऊंगा, अन्यथा नहीं।" कंप्यूटर में भी इस प्रकार के तार्किक निर्णय लेने के लिए समचतुर्भुज (Diamond) प्रतीक का उपयोग किया जाता है।
4.2 रिलेशनल ऑपरेटर्स एवं बूलियन तुलना (Relational Operators)
कंप्यूटर में निर्णय लेने के लिए गणितीय तुलनात्मक ऑपरेटरों का उपयोग किया जाता है जिनका परिणाम सदैव केवल True (1) या False (0) होता है:
> और < बड़ा है और छोटा है (उदा. 10 > 5 → True)
>= और <= बड़ा या बराबर, छोटा या बराबर
== और != सटीक बराबर और असमान (Not Equal)
4.3 बिहार बोर्ड परीक्षा के मुख्य चयन ब्लूप्रिंट्स
ब्लूप्रिंट 1: दो संख्याओं में बड़ी संख्या ज्ञात करना (Find Greater of Two Numbers)
एल्गोरिदम:
चरण 1: प्रारंभ करें (Start)।
चरण 2: दो संख्याएं A और B इनपुट लें (Input A, B)।
चरण 3: यदि A > B है, तो चरण 4 पर जाएं; अन्यथा चरण 5 पर जाएं।
चरण 4: प्रिंट करें "A बड़ा है" (Print A is Greater) और चरण 6 पर जाएं।
चरण 5: प्रिंट करें "B बड़ा है" (Print B is Greater)।
चरण 6: समाप्त करें (Stop)।
फ्लोचार्ट संरचना (Flow Logic):
1. Oval: Start
2. Parallelogram: Input A, B
3. Diamond: Is A > B?
• यदि हाँ (Yes) → Parallelogram: Print "A is Greater" → Stop
• यदि नहीं (No) → Parallelogram: Print "B is Greater" → Stop
ब्लूप्रिंट 2: सम एवं विषम संख्या की पहचान (Even or Odd Number)
एल्गोरिदम:
चरण 1: प्रारंभ करें (Start)।
चरण 2: एक पूर्णांक संख्या N इनपुट लें (Input N)।
चरण 3: शेषफल ज्ञात करें: Rem = N % 2।
चरण 4: यदि Rem == 0 है, तो प्रिंट करें "सम संख्या (Even)"।
चरण 5: अन्यथा, प्रिंट करें "विषम संख्या (Odd)"।
चरण 6: समाप्त करें (Stop)।
तार्किक नियम:
यदि किसी संख्या को 2 से भाग देने पर शेषफल शून्य (0) बचे, तो वह संख्या पूर्णतः विभाज्य होकर सम (Even) कहलाती है। यदि शेषफल 1 बचे, तो वह विषम (Odd) कहलाती है।
इकाई 5: पुनरावृत्ति, लूपिंग एवं संचायक प्रतिमान
5.1 पुनरावृत्ति एवं लूपिंग की अवधारणा (Concept of Iteration & Loops)
पुनरावृत्ति की परिभाषा: जब किसी कार्य या निर्देशों के समूह को एक निश्चित शर्त पूरी होने तक बार-बार दोहराया जाता है, तो इस प्रक्रिया को कंप्यूटर विज्ञान में पुनरावृत्ति (Iteration) अथवा लूपिंग (Looping) कहते हैं।
कंप्यूटर की सबसे बड़ी शक्ति यही है कि वह एक ही काम को बिना थके, बिना ऊबे और बिना किसी मानवीय भूल के करोड़ों बार दोहरा सकता है। यदि हमें 1 से 100 तक गिनती लिखनी हो, तो 100 अलग-अलग प्रिंट निर्देश लिखने के बजाय हम केवल 3 पंक्तियों का एक लूप बना सकते हैं जो 100 बार चलेगा।
5.2 एक मान्य लूप के 3 अनिवार्य स्तंभ
प्रत्येक सफल और त्रुटिहीन लूप में निम्नलिखित 3 चरणों का उपस्थित होना अनिवार्य है:
1. आरंभीकरण (Initialization)
लूप शुरू होने से पहले काउंटर चर (Counter Variable) को एक आरंभिक मान दिया जाता है (उदा. Count = 1)।
2. परीक्षण शर्त (Condition Check)
प्रत्येक चक्र से पहले जांचा जाता है कि क्या लूप जारी रहना चाहिए (उदा. Count <= 10?)। असत्य होने पर लूप रुक जाता है।
3. मान अद्यतन (Update / Increment)
प्रत्येक चक्र के अंत में काउंटर के मान को बढ़ाया या घटाया जाता है (उदा. Count = Count + 1)। इसे भूलने पर अनंत लूप बन जाता है।
5.3 संचायक प्रतिमान (The Accumulator Pattern: Sum = Sum + Count)
जब हमें कई संख्याओं का कुल योग ज्ञात करना होता है, तो हम एक विशेष चर का उपयोग करते हैं जिसे संचायक (Accumulator) कहा जाता है। इसका मानक नियम इस प्रकार है:
शून्य से आरंभीकरण: लूप शुरू होने से पहले संचायक चर का मान सदैव 0 पर सेट किया जाता है (Sum = 0)। यदि 0 न दें, तो उसमें कोई पुराना कचरा मान (Garbage Value) जुड़ सकता है।
संचय संक्रिया: लूप के भीतर प्रत्येक चक्र में नया मान संचायक में जुड़ता जाता है: Sum = Sum + Count।
अंतिम परिणाम: लूप समाप्त होने के बाद ही संचायक का अंतिम मान प्रिंट किया जाता है (Print Sum)।
5.4 मानक उदाहरण: 1 से 5 तक की संख्याओं का योगफल ज्ञात करना
एल्गोरिदम:
चरण 1: प्रारंभ करें (Start)।
चरण 2: Sum = 0 और Count = 1 सेट करें।
चरण 3: यदि Count <= 5 है, तो चरण 4 पर जाएं; अन्यथा चरण 7 पर जाएं।
चरण 4: Sum = Sum + Count।
चरण 5: Count = Count + 1।
चरण 6: वापस चरण 3 पर जाएं (लूप पुनरावृत्ति)।
चरण 7: योगफल प्रिंट करें: Print Sum।
चरण 8: समाप्त करें (Stop)।
फ्लोचार्ट निष्पादन प्रवाह:
1. Oval: Start
2. Rectangle: Sum = 0, Count = 1
3. Diamond: Count <= 5?
• हाँ (Yes): Rectangle: Sum = Sum + Count →
Rectangle: Count = Count + 1 → वापस Diamond पर लूप
• नहीं (No): Parallelogram: Print Sum →
Oval: Stop
इकाई 6: तुलनात्मक विश्लेषण: एल्गोरिदम, स्यूडोकोड एवं फ्लोचार्ट
6.1 समस्या प्रस्तुति के तीन स्तंभ: एल्गोरिदम, स्यूडोकोड एवं फ्लोचार्ट
कंप्यूटर विज्ञान में किसी समस्या के समाधान को कोड में बदलने से पहले उसे प्रस्तुत करने के तीन प्रमुख वैज्ञानिक तरीके हैं:
एल्गोरिदम (Algorithm): मानव भाषा (हिंदी/अंग्रेजी) में लिखा गया सरल, चरणबद्ध और तार्किक विवरण।
स्यूडोकोड (Pseudocode): मानव भाषा और प्रोग्रामिंग सिंटैक्स का मिश्रण, जिसमें IF, ELSE, WHILE, FOR जैसे संरचित कीवर्ड्स का उपयोग होता है किंतु किसी विशिष्ट भाषा के सख्त नियमों की पाबंदी नहीं होती।
फ्लोचार्ट (Flowchart): मानक ज्यामितीय प्रतीकों और तीरों की सहायता से बनाया गया दृश्य आरेख।
6.2 व्यापक त्रि-मार्गी तुलनात्मक तालिका (Comparative Matrix)
तुलना का आधार
एल्गोरिदम (Algorithm)
स्यूडोकोड (Pseudocode)
फ्लोचार्ट (Flowchart)
प्रस्तुति का स्वरूप
प्राकृतिक भाषा के सादे वाक्य (Textual steps)।
प्रोग्रामिंग जैसे संरचित कीवर्ड्स (Structured text)।
ज्यामितीय आकृतियां एवं तीर (Visual / Graphical)।
मानकीकरण एवं नियम
कोई सख्त तकनीकी मानक नहीं; लचीला।
प्रोग्रामिंग संरचना के अनुरूप इंडेंटेशन नियम।
सख्त ANSI / ISO अंतरराष्ट्रीय मानक ज्यामितीय नियम।
समझने में सुगमता
गैर-तकनीकी व्यक्तियों के लिए भी समझना आसान।
प्रोग्रामरों और डेवलपर्स के लिए सर्वोत्तम।
दृश्य स्पष्टता के कारण समग्र प्रवाह तुरंत समझ आता है।
संशोधन एवं परिवर्तन
अत्यंत सरल; केवल पाठ्य वाक्य बदलना होता है।
सरल; केवल कुछ पंक्तियां संपादित करनी होती हैं।
कठिन; एक परिवर्तन से पूरे आरेख को दोबारा बनाना पड़ता है।
कोड में रूपांतरण
मध्यम; पहले तर्क को प्रोग्रामिंग शब्दों में सोचना पड़ता है।
अत्यंत तीव्र; सीधे किसी भी भाषा (Python/C) में मैप होता है।
आसान; नियंत्रण संरचनाओं का स्पष्ट दृश्य मार्गदर्शन मिलता है।
6.3 एक ही समस्या के तीनों प्रारूपों का समानांतर प्रदर्शन
समस्या: छात्र के 40 या अधिक अंक होने पर "उत्तीर्ण" और कम होने पर "अनुत्तीर्ण" घोषित करना
1. एल्गोरिदम:
प्रारंभ करें।
अंक Marks इनपुट लें।
यदि Marks >= 40, तो "उत्तीर्ण" प्रिंट करें।
अन्यथा, "अनुत्तीर्ण" प्रिंट करें।
समाप्त करें।
2. स्यूडोकोड:
BEGIN
READ Marks
IF Marks >= 40 THEN
PRINT "Pass"
ELSE
PRINT "Fail"
ENDIF
END
इकाई 7: एल्गोरिदम ट्रेसिंग, ट्रेस टेबल्स एवं व्यवस्थित डीबगिंग
7.1 एल्गोरिदम ट्रेसिंग एवं ड्राई-रन क्या है? (What is a Dry Run?)
ड्राई-रन की परिभाषा: किसी कंप्यूटर प्रोग्राम या एल्गोरिदम को वास्तविक कंप्यूटर पर चलाए बिना, कागज़ और कलम की सहायता से हाथ से एक-एक निर्देश को चरणबद्ध निष्पादित करना और प्रत्येक चरण पर चरों (Variables) के बदलते मानों को दर्ज करना ड्राई-रन (Dry Run) या ट्रेसिंग (Tracing) कहलाता है।
जिस तालिका (Table) में इन मानों को रिकॉर्ड किया जाता है, उसे ट्रेस टेबल (Trace Table) कहते हैं। यह सॉफ्टवेयर इंजीनियरिंग का सबसे शक्तिशाली उपकरण है जिससे प्रोग्रामर कोडिंग से पहले ही अपने एल्गोरिदम की तार्किक शुद्धता को 100% सत्यापित कर लेते हैं।
7.2 संपूर्ण केस स्टडी: 1 से 5 तक के योग की प्रामाणिक ट्रेस टेबल
आइए हमारे संचायक लूप एल्गोरिदम (Sum = Sum + Count, 1 से 5 तक) का पूरा ड्राई-रन करके देखें:
चक्र / चरण (Step)
शर्त (Count <= 5)
पुराना Sum
Count का मान
नया Sum (Sum+Count)
नया Count (Count+1)
आउटपुट / स्थिति
आरंभ (Start)
-
0
1
-
-
मान आरंभीकृत
Pass 1
1 <= 5 (सत्य/True)
0
1
0 + 1 = 1
1 + 1 = 2
लूप जारी
Pass 2
2 <= 5 (सत्य/True)
1
2
1 + 2 = 3
2 + 1 = 3
लूप जारी
Pass 3
3 <= 5 (सत्य/True)
3
3
3 + 3 = 6
3 + 1 = 4
लूप जारी
Pass 4
4 <= 5 (सत्य/True)
6
4
6 + 4 = 10
4 + 1 = 5
लूप जारी
Pass 5
5 <= 5 (सत्य/True)
10
5
10 + 5 = 15
5 + 1 = 6
लूप जारी
निकास (Exit)
6 <= 5 (असत्य/False)
15
6
-
-
PRINT 15 • STOP
7.3 सामान्य तार्किक त्रुटियां एवं वैज्ञानिक डीबगिंग चक्र
परीक्षक जाल (Examiner Traps): 4 सबसे सामान्य गलतियां
1. अनंत लूप (Infinite Loop): काउंटर को बढ़ाना भूल जाना (Count = Count + 1 न लिखना)। परिणाम: शर्त हमेशा सत्य रहेगी और कंप्यूटर हैंग हो जाएगा।
2. ऑफ-बाय-वन त्रुटि (Off-by-One Error):<= 5 के स्थान पर भूलवश < 5 लिखना। परिणाम: लूप 4 पर ही रुक जाएगा और योग 15 के बजाय 10 आएगा।
3. गलत आरंभीकरण:Sum = 0 के स्थान पर Sum = 1 लिखना। परिणाम: अंतिम योग 15 के स्थान पर 16 आएगा।
4. प्रवाह तीर नियम उल्लंघन: आयत (प्रक्रिया) से 2 निकास रेखाएं खींचना अथवा तीरों के सिरे छोड़ देना। केवल निर्णय प्रतीक से ही 2 निकास संभव हैं।
प्रोग्रामिंग सिंटेक्स, स्टेटमेंट्स एवं भाषा अनुवादक नियम
ANSI / ISO फ्लोचार्ट मानक प्रतीक एवं ज्यामितीय वर्गीकरण मैट्रिक्स
अमेरिकन नेशनल स्टैंडर्ड्स इंस्टीट्यूट द्वारा स्वीकृत 6 मानक आकृतियों का ज्यामितीय और तार्किक वर्गीकरण।
एल्गोरिदम के 5 अनिवार्य गुण (Donald Knuth मापदंड)
डोनाल्ड नुथ द्वारा प्रतिपादित किसी भी मान्य एल्गोरिदम के 5 मूलभूत वैज्ञानिक गुण।
बोहम-जैकोपिनी नियंत्रण संरचना त्रयी निर्णय वृक्ष (Control Triad)
समस्या की प्रकृति के अनुसार उपयुक्त नियंत्रण संरचना (अनुक्रम, चयन या पुनरावृत्ति) चुनने का निर्णय ढांचा।
रिलेशनल ऑपरेटर्स एवं बूलियन निर्णय सत्यता सारणी
फ्लोचार्ट के निर्णय प्रतीक (Diamond) में प्रयुक्त होने वाले 6 प्रमुख तुलनात्मक ऑपरेटर्स।
संचायक एवं काउंटर लूप वास्तुकला (Accumulator Loop Architecture)
संख्याओं के योग या गणना हेतु प्रयुक्त काउंटर और संचायक चरों का 3-चरणीय जीवन चक्र।
त्रि-मार्गी समस्या प्रस्तुति तुलना मैट्रिक्स (Algorithm vs Pseudocode vs Flowchart)
समस्या समाधान के तीनों प्रारूपों की शक्तियों, सीमाओं और रूपांतरण का तुलनात्मक विश्लेषण।
4-चरणीय ट्रेस टेबल ड्राई-रन सत्यापन फ्रेमवर्क
कागज़-कलम पर एल्गोरिदम की शुद्धता जांचने और लॉजिक बग्स पकड़ने की वैज्ञानिक विधि।
सामान्य प्रोग्रामिंग तार्किक दोष एवं निवारण प्रोटोकॉल (Debugging Protocol)
छात्रों द्वारा की जाने वाली 4 सबसे घातक गलतियां और उनका चरणबद्ध निवारण।
अवधारणात्मक हल उदाहरण एवं अनुप्रयोग (Solved Examples)
उदाहरण 1
एल्गोरिदम और फ्लोचार्ट में किन्हीं दो मुख्य अंतरों को स्पष्ट कीजिए।
विस्तृत समाधान / उत्तर:
उत्तर: एल्गोरिदम और फ्लोचार्ट में दो प्रमुख अंतर निम्नलिखित हैं:
एल्गोरिदम (Algorithm)
फ्लोचार्ट (Flowchart)
1. यह किसी समस्या को हल करने के लिए सरल मानव भाषा (हिंदी/अंग्रेजी) में लिखा गया चरणबद्ध पाठ्य (Textual) विवरण है।
1. यह एल्गोरिदम के चरणों को मानक ज्यामितीय प्रतीकों और तीरों की सहायता से प्रस्तुत करने वाला चित्रात्मक / दृश्य आरेख (Graphical Diagram) है।
2. इसमें संशोधन करना बहुत सरल होता है; केवल पाठ्य पंक्तियों को बदलना पड़ता है।
2. इसमें संशोधन करना कठिन होता है; किसी एक चरण को बदलने पर पूरे आरेख को दोबारा बनाना पड़ सकता है।
उदाहरण 2
फ्लोचार्ट में प्रयुक्त होने वाले किन्हीं तीन मानक ANSI प्रतीकों के नाम, उनके ज्यामितीय आकार और उनके कार्य लिखिए।
विस्तृत समाधान / उत्तर:
उत्तर: फ्लोचार्ट के तीन प्रमुख मानक ANSI प्रतीक निम्नलिखित हैं:
1. टर्मिनल प्रतीक (Terminal Symbol):
ज्यामितीय आकार: दीर्घवृत्त या गोल किनारों वाला कैप्सूल (Oval)।
कार्य: फ्लोचार्ट के प्रारंभ (START) और समाप्ति (STOP) को दर्शाने के लिए उपयोग किया जाता है।
भाग (ख) - फ्लोचार्ट निर्णय संरचना (Decision Logic):
1. Oval:Start
2. Parallelogram:Input N
3. Rectangle:Rem = N % 2
4. Diamond (Decision):Is Rem == 0?
• यदि हाँ (Yes): Parallelogram Print "Even" → Stop
• यदि नहीं (No): Parallelogram Print "Odd" → Stop
5. Oval:Stop
उदाहरण 6
1 से 5 तक की प्राकृत संख्याओं का योगफल (Sum = 15) ज्ञात करने के लिए संचायक लूप (Accumulator Loop) का एल्गोरिदम लिखिए तथा इसके निष्पादन को दर्शाने वाली पूरी ट्रेस टेबल (Trace Table) बनाइए।
विस्तृत समाधान / उत्तर:
उत्तर:
भाग (क) - संचायक लूप एल्गोरिदम:
चरण 1: प्रारंभ करें (Start)।
चरण 2: संचायक Sum = 0 और काउंटर Count = 1 सेट करें (आरंभीकरण)।
चरण 3: यदि Count <= 5 सत्य है, तो चरण 4 पर जाएं; अन्यथा चरण 7 पर जाएं (निकास)।
चरण 4: नया योग संचित करें: Sum = Sum + Count।
चरण 5: काउंटर को 1 से बढ़ाएं: Count = Count + 1।
चरण 6: पुनः चरण 3 पर वापस जाएं (लूप दोहराव)।
चरण 7: अंतिम योगफल प्रिंट करें: Print Sum।
चरण 8: समाप्त करें (Stop)।
भाग (ख) - संपूर्ण ट्रेस टेबल (Dry-Run Trace Table):
चक्र (Pass)
शर्त (Count <= 5)
Sum (पुराना)
Count
नया Sum (Sum+Count)
नया Count (Count+1)
आउटपुट
Start
-
0
1
-
-
-
Pass 1
1 <= 5 (T)
0
1
0 + 1 = 1
1 + 1 = 2
-
Pass 2
2 <= 5 (T)
1
2
1 + 2 = 3
2 + 1 = 3
-
Pass 3
3 <= 5 (T)
3
3
3 + 3 = 6
3 + 1 = 4
-
Pass 4
4 <= 5 (T)
6
4
6 + 4 = 10
4 + 1 = 5
-
Pass 5
5 <= 5 (T)
10
5
10 + 5 = 15
5 + 1 = 6
-
Exit
6 <= 5 (F)
15
6
-
-
Print 15
सामान्य गलतियाँ एवं परीक्षक के जाल (Examiner Traps)
सामान्य भ्रम / गलत उत्तर
सही वैज्ञानिक तथ्य
यदि काउंटर चर का मान नहीं बढ़ाया जाएगा, तो परीक्षण शर्त (उदा. Count <= 5) हमेशा सत्य (True) बनी रहेगी। इसके परिणामस्वरूप लूप कभी समाप्त नहीं होगा और कंप्यूटर 'अनंत लूप' (Infinite Loop) में फंसकर हैंग हो जाएगा। लूप के प्रत्येक चक्र में काउंटर अद्यतन निर्देश अनिवार्य रूप से लिखें।
सामान्य भ्रम / गलत उत्तर
सही वैज्ञानिक तथ्य
यदि 1 से 5 तक की संख्याओं का योग करना हो और शर्त 'Count < 5' लिख दी जाए, तो लूप 4 पर ही रुक जाएगा और 5वां मान योग में शामिल नहीं होगा। इससे योग 15 के स्थान पर 10 आएगा। इसे 'ऑफ-बाय-वन त्रुटि' (Off-by-One Error) कहते हैं। जब अंतिम संख्या भी शामिल करनी हो, तो सदैव '<=' का प्रयोग करें।
सामान्य भ्रम / गलत उत्तर
सही वैज्ञानिक तथ्य
मानक ANSI/ISO नियमों के अनुसार केवल निर्णय समचतुर्भुज (Diamond) ही वह एकमात्र प्रतीक है जिससे ठीक दो निकास रेखाएं (हाँ/Yes और नहीं/No) निकल सकती हैं। आयत और समानांतर चतुर्भुज से सदैव केवल एक ही निकास रेखा निकल सकती है।
सामान्य भ्रम / गलत उत्तर
सही वैज्ञानिक तथ्य
एकल बराबर चिन्ह (A = B) एक असाइनमेंट ऑपरेटर है, जिसका अर्थ है B के मान को चर A में डालना। दोहरे बराबर चिन्ह (A == B) एक रिलेशनल ऑपरेटर है, जो जांचता है कि क्या दोनों का मान समान है। शर्त (Decision Diamond) में सदैव '==' का प्रयोग करें, न कि '=' का।
सामान्य भ्रम / गलत उत्तर
सही वैज्ञानिक तथ्य
योग संक्रिया का तत्समक अवयव (Additive Identity) शून्य (0) होता है। यदि Sum = 1 से शुरू करेंगे, तो अंतिम परिणाम सही उत्तर से 1 अधिक आएगा (1 से 5 का योग 15 के बजाय 16 हो जाएगा)। गुणनफल (Product/Factorial) में 1 से शुरू किया जाता है, किंतु योग में सदैव Sum = 0 से ही आरंभीकरण करें।
सामान्य भ्रम / गलत उत्तर
सही वैज्ञानिक तथ्य
बिना तीर के फ्लोचार्ट अधूरा और अमान्य माना जाता है, क्योंकि परीक्षक यह नहीं जान पाता कि निर्देश किस दिशा में निष्पादित हो रहे हैं। हमेशा प्रवाह की दिशा में स्पष्ट तीर का सिरा (↓, →, ↑, ←) अवश्य बनाएं।
चित्रात्मक व्याख्या एवं मॉडल
स्व-मूल्यांकन अभ्यास (Check Your Understanding)
मूल वैचारिक स्पष्टता की जांच के लिए नैदानिक प्रश्न। पहले स्वयं हल करें, फिर उत्तर देखें।
1
यदि किसी फ्लोचार्ट में निर्णय समचतुर्भुज (Diamond) के भीतर 'Is A > B?' लिखा है और A = 15 तथा B = 20 है, तो प्रवाह किस शाखा में जाएगा?
उत्तर एवं व्याख्या देखें
उत्तर: चूंकि 15 > 20 का परिणाम असत्य (False) है, इसलिए प्रवाह 'नहीं' (No) वाली शाखा में जाएगा।
2
एक छात्र ने आयत (Rectangle) प्रतीक के भीतर 'Is N >= 50?' लिखा है और उससे दो तीर निकाले हैं। इसमें क्या गलती है?
उत्तर एवं व्याख्या देखें
उत्तर: आयत केवल प्रक्रिया/गणना के लिए होता है और उससे केवल 1 निकास हो सकता है। शर्त पूछने और दो निकास निकालने के लिए समचतुर्भुज (Diamond) प्रतीक का उपयोग होना चाहिए।
3
लूप में 'Count = 1' और 'Count <= 3' है। यदि लूप के भीतर 'Count = Count + 1' हो, तो लूप कुल कितनी बार चलेगा?
उत्तर एवं व्याख्या देखें
उत्तर: लूप ठीक 3 बार चलेगा (Count = 1, 2, 3 के लिए)। जब Count = 4 होगा, तो शर्त असत्य होकर लूप समाप्त हो जाएगा।
4
फ्लोचार्ट में एक ही पृष्ठ पर दूर स्थित दो बिंदुओं को जोड़ने के लिए किस प्रतीक का प्रयोग किया जाता है?
उत्तर एवं व्याख्या देखें
उत्तर: कनेक्टर प्रतीक (छोटा वृत्त / Small Circle) का प्रयोग किया जाता है जिसके भीतर समान अक्षर (जैसे 'A') लिखा जाता है।
5
यदि 1 से 3 तक की संख्याओं का योग निकालने वाले लूप में भूलवश 'Sum = 1' से शुरू किया जाए, तो अंतिम Sum क्या आएगा?
उत्तर एवं व्याख्या देखें
उत्तर: सही योग 1+2+3 = 6 होना चाहिए, किंतु Sum = 1 से शुरू करने पर 1 + 1 + 2 + 3 = 7 आएगा (1 अधिक)।
6
स्यूडोकोड में निर्णय संरचना को दर्शाने के लिए किन दो प्रमुख कीवर्ड्स का उपयोग किया जाता है?
उत्तर एवं व्याख्या देखें
उत्तर: IF (यदि) और ELSE (अन्यथा) कीवर्ड्स का उपयोग किया जाता है।
अध्याय का अध्ययन पूर्ण हुआ?
अभ्यास के लिए तैयार?
ऑनलाइन CBT टेस्ट देकर तैयारी का मूल्यांकन करें
BSEB परीक्षा पैटर्न पर आधारित बहुविकल्पीय प्रश्नों का ऑनलाइन टेस्ट दें। तुरंत परिणाम, समय विश्लेषण और प्रत्येक प्रश्न का विस्तृत हल प्राप्त करें।