Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

C भाषा में एल्गोरिदम और फ्लोचार्ट क्या है?

एल्गोरिदम एक चरण-दर-चरण प्रक्रिया है जो किसी समस्या को हल करने में सहायक होती है। यदि इसे अंग्रेजी जैसे वाक्यों में लिखा जाता है, तो इसे 'स्यूडो कोड' (PSEUDO CODE) कहा जाता है।

एल्गोरिदम के गुण

एक एल्गोरिदम में निम्नलिखित पांच गुण होने चाहिए:

  • इनपुट (Input) - शून्य या अधिक इनपुट्स
  • आउटपुट (Output) - एक या अधिक आउटपुट्स
  • परिमितता (Finiteness) - सीमित चरणों में समाप्त होना चाहिए
  • निश्चितता (Definiteness) - प्रत्येक चरण स्पष्ट और अस्पष्ट नहीं होना चाहिए
  • प्रभावशीलता (Effectiveness) - प्रत्येक चरण मौलिक रूप से निष्पादन योग्य होना चाहिए

उदाहरण: तीन संख्याओं का औसत खोजने का एल्गोरिदम

  1. शुरुआत (Start)
  2. 3 संख्याएं a, b, c पढ़ें
  3. योग गणना करें: sum = a + b + c
  4. औसत गणना करें: average = sum / 3
  5. औसत मान प्रिंट करें
  6. रोकें (Stop)

फ्लोचार्ट (FLOW CHART)

एल्गोरिदम का आरेखीय प्रतिनिधित्व फ्लोचार्ट कहलाता है।

फ्लोचार्ट में उपयोग किए जाने वाले प्रतीक

नामप्रतीकउद्देश्य
टर्मिनल (Terminal)अंडाकार (Oval)शुरुआत/रोक/प्रारंभ/अंत
इनपुट/आउटपुटसमानांतर चतुर्भुज (Parallelogram)डेटा का इनपुट/आउटपुट
प्रोसेस (Process)आयत (Rectangle)किए जाने वाले किसी भी प्रसंस्करण को दर्शाता है
निर्णय बॉक्स (Decision)हीरा (Diamond)निर्णय ऑपरेशन जो वैकल्पिक पथ निर्धारित करता है
कनेक्टर (Connector)वृत्त (Circle)फ्लोचार्ट के विभिन्न भागों को जोड़ने के लिए
फ्लो (Flow)तीर (Arrows)दो प्रतीकों को जोड़ता है और निष्पादन प्रवाह दर्शाता है
पूर्वनिर्धारित प्रक्रियाडबल-साइडेड आयतमॉड्यूल/सबरूटीन जो कहीं और निर्दिष्ट है
पेज कनेक्टरपंचकोण (Pentagon)दो अलग-अलग पेजों में फ्लोचार्ट जोड़ने के लिए
फोर लूप प्रतीकषट्कोण (Hexagon)लूप वेरिएबल का आरंभीकरण, शर्त और इन्क्रीमेंटेशन दिखाता है
डॉक्यूमेंटप्रिंटआउटप्रिंटआउट के लिए तैयार डेटा दिखाता है

उदाहरण: तीन संख्याओं का औसत खोजने का फ्लोचार्ट

    [Start] (Oval)
        |
        v
  [Input a, b, c] (Parallelogram)
        |
        v
  [sum = a + b + c] (Rectangle)
        |
        v
  [avg = sum / 3] (Rectangle)
        |
        v
  [Print avg] (Parallelogram)
        |
        v
    [Stop] (Oval)

निर्णय संरचना के साथ फ्लोचार्ट उदाहरण (उदाहरण: दो संख्याओं में से बड़ी खोजें):

    [Start]
        |
        v
  [Input a, b]
        |
        v
   [a > b?] (Diamond) --Yes--> [Print "a is larger"]
        |                          |
       No                          |
        |                          v
        v                     [End/Join]
  [Print "b is larger"] 
        |
        v
    [Stop]

एल्गोरिदम vs फ्लोचार्ट

पहलूएल्गोरिदमफ्लोचार्ट
प्रतिनिधित्वपाठ/स्यूडोकोडचित्रमय/दृश्य
पठनीयताविस्तृत तर्क के लिए अच्छाफ्लो/निर्णयों के लिए अच्छा
लेखन में आसानीआसान (टेक्स्ट एडिटर)टूल आवश्यक (Visio, draw.io, आदि)
डीबगिंगकोड में सीधा अनुवादलॉजिक त्रुटियों को दृश्यमान बनाता है
दस्तावेजीकरणतकनीकी दस्तावेजसंचार/प्रस्तुति के लिए बेहतर

सर्वोत्तम अभ्यास

  • कोडिंग से पहले एल्गोरिदम/फ्लोचार्ट बनाएं।
  • जटिल लॉजिक के लिए फ्लोचार्ट, विस्तृत चरणों के लिए स्यूडोकोड उपयोग करें।
  • फ्लोचार्ट को सरल रखें; जटिल भागों को सबरूटीन में विभाजित करें।
  • मानक प्रतीकों का उपयोग करें (ISO 5807 / ANSI)।
  1. C भाषा में मूल्यांकन (Evaluation), प्रीसिडेंस (Precedence) और एसोसिएटिविटी (Association) C भाषा में मूल्यांकन (Evaluation), प्रीसिडेंस (Precedence) और एसोसिएटिविटी (Association)

    एक्सप्रेशन्स का मूल्यांकन C कंपाइलर द्वारा प्रीसिडेंस (प्राथमिकता) और एसोसिएटिविटी (साहचर्य) नियमों के आधार पर किया जाता है। यदि एक एक्सप्रेशन में अलग-अलग प्राथमिकता के ऑपरेटर्स हैं, तो प्रीसिडेंस नियमों पर विचार किया जाता है। उदाहरण: a = 10 - 2 * 5 यहां, 2 * 5 पहले मूल्यांकित होता है क्योंकि * की

  1. C भाषा में अप्रत्यक्ष और स्पष्ट प्रकार रूपांतरण (Implicit and Explicit Type Conversion) C भाषा में अप्रत्यक्ष और स्पष्ट प्रकार रूपांतरण (Implicit and Explicit Type Conversion)

    प्रकार रूपांतरण (Type Conversion) एक डेटा प्रकार के मान को दूसरे डेटा प्रकार में बदलना। दो प्रकार: अप्रत्यक्ष (Implicit) - कंपाइलर स्वतः करता है स्पष्ट (Explicit) - प्रोग्रामर कास्ट ऑपरेटर से करता है 1. अप्रत्यक्ष प्रकार रूपांतरण (Implicit Type Conversion) कंपाइलर द्वारा स्वतः जब ऑपरेंड्स अलग प

  1. एल्गोरिदम और फ्लोचार्ट में अंतर एल्गोरिदम और फ्लोचार्ट में अंतर

    इस पोस्ट में, आइए फ्लोचार्ट और एल्गोरिदम के बीच अंतर को समझते हैं। एल्गोरिदम यह अच्छी तरह से परिभाषित चरणों के अनुक्रम के रूप में परिभाषित है। ये चरण हाथ में समस्या को हल करने का एक समाधान/तरीका प्रदान करते हैं। यह एक व्यवस्थित और तार्किक दृष्टिकोण है, जहां प्रक्रिया चरणबद्ध तरीके से परिभाषित है।