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

C भाषा में टॉप-डाउन डिज़ाइन और फंक्शन का स्ट्रक्चर चार्ट

एक फंक्शन एक स्व-निहित ब्लॉक है जो एक विशिष्ट सुपरिभाषित कार्य करता है।

C भाषा में फंक्शन्स के लाभ

  • पुनर्उपयोगिता (Reusability)
  • प्रोग्राम की लंबाई कम की जा सकती है
  • किसी भी दोषपूर्ण फंक्शन को ढूंढना और ठीक करना आसान है
  • टॉप-डाउन मॉड्यूलर प्रोग्रामिंग की सुविधा देता है

टॉप-डाउन डिज़ाइन और स्ट्रक्चर चार्ट्स

यह एक समस्या-समाधान विधि है जिसमें एक जटिल समस्या को उप-समस्याओं में विभाजित करके हल किया जाता है।

स्ट्रक्चर चार्ट एक डॉक्यूमेंटेशन टूल है जो किसी समस्या की उप-समस्याओं के बीच संबंधों को दिखाता है।

उदाहरण: दो संख्याओं पर अंकगणितीय संक्रियाएं

समस्या: दो संख्याओं पर अंकगणितीय संक्रियाएं करना

  • योग ज्ञात करें
  • अंतर ज्ञात करें
  • गुणनफल ज्ञात करें
  • भागफल ज्ञात करें

पहले चरण (योग) के लिए परिष्कृत एल्गोरिदम:

  • दो संख्याएं a, b लें
  • योग ज्ञात करें: c = a + b
  • योग प्रिंट करें

स्ट्रक्चर चार्ट प्रतिनिधित्व

         Main Program
              |
    +---------+---------+---------+---------+
    |         |         |         |         |
  Sum      Diff     Product  Quotient  Remainder
  (a+b)    (a-b)    (a*b)    (a/b)     (a%b)
    |         |         |         |         |
  Print    Print     Print     Print     Print

C में कार्यान्वयन

#include <stdio.h> 

// फंक्शन प्रोटोटाइप्स (टॉप-डाउन: पहले मुख्य लॉजिक)
int sum(int a, int b);
int diff(int a, int b);
int product(int a, int b);
float quotient(int a, int b);
int remainder(int a, int b);
void printResult(const char *op, int result);

int main() {
    int a, b;
    printf("Enter two numbers: ");
    scanf("%d %d", &a, &b);
    
    printf("Sum: %d\n", sum(a, b));
    printf("Difference: %d\n", diff(a, b));
    printf("Product: %d\n", product(a, b));
    if(b != 0) {
        printf("Quotient: %.2f\n", quotient(a, b));
        printf("Remainder: %d\n", remainder(a, b));
    }
    return 0;
}

// फंक्शन परिभाषाएं (बॉटम-अप: विवरण बाद में)
int sum(int a, int b) { return a + b; }
int diff(int a, int b) { return a - b; }
int product(int a, int b) { return a * b; }
float quotient(int a, int b) { return (float)a / b; }
int remainder(int a, int b) { return a % b; }
void printResult(const char *op, int result) {
    printf("%s: %d\n", op, result);
}

टॉप-डाउन डिज़ाइन के लाभ

  • मॉड्यूलरिटी: प्रत्येक फंक्शन स्वतंत्र, परीक्षण योग्य
  • पठनीयता: मुख्य लॉजिक उच्च स्तर पर स्पष्ट
  • रखरखाव: एक फंक्शन में परिवर्तन दूसरों को प्रभावित नहीं करता
  • टीम विकास: अलग-अलग डेवलपर्स अलग-अलग फंक्शन्स पर काम कर सकते हैं
  • पुनर्उपयोगिता: फंक्शन्स अन्य प्रोग्राम्स में पुनः उपयोग योग्य

स्ट्रक्चर चार्ट तत्व

प्रतीकनामअर्थ
□मॉड्यूल/फंक्शनएक प्रक्रिया या फंक्शन
→कॉल/नियंत्रण प्रवाहएक मॉड्यूल दूसरे को कॉल करता है
◇निर्णयशर्ती शाखा
⌷डेटा कपलपैरामीटर पास करना
⌷⌷कंट्रोल कपलनियंत्रण फ्लैग पास करना

निष्कर्ष

टॉप-डाउन डिज़ाइन जटिल समस्याओं को प्रबंधनीय मॉड्यूल्स में तोड़ता है। स्ट्रक्चर चार्ट इस पदानुक्रम को दृश्यमान बनाता है, जिससे संचार, दस्तावेजीकरण और रखरखाव आसान होता है।

  1. C भाषा में मोनोलिथिक और मॉड्यूलर प्रोग्रामिंग की व्याख्या C भाषा में मोनोलिथिक और मॉड्यूलर प्रोग्रामिंग की व्याख्या

    मोनोलिथिक प्रोग्रामिंग और मॉड्यूलर प्रोग्रामिंग के बीच अंतर को फायदे और नुकसान के साथ नीचे विस्तार से समझाया गया है। मोनोलिथिक प्रोग्रामिंग यदि हम संपूर्ण प्रोग्राम को एक ही फ़ंक्शन में लिखते हैं, यानी मेन फ़ंक्शन में, तो आप इसे मोनोलिथिक प्रकार की प्रोग्रामिंग कहेंगे। लेकिन, संपूर्ण लॉजिक को एक ही

  1. C भाषा में टॉप-डाउन डिज़ाइन और फंक्शन का स्ट्रक्चर चार्ट C भाषा में टॉप-डाउन डिज़ाइन और फंक्शन का स्ट्रक्चर चार्ट

    एक फंक्शन एक स्व-निहित ब्लॉक है जो एक विशिष्ट सुपरिभाषित कार्य करता है। C भाषा में फंक्शन्स के लाभ पुनर्उपयोगिता (Reusability) प्रोग्राम की लंबाई कम की जा सकती है किसी भी दोषपूर्ण फंक्शन को ढूंढना और ठीक करना आसान है टॉप-डाउन मॉड्यूलर प्रोग्रामिंग की सुविधा देता है टॉप-डाउन डिज़ाइन और स्ट्रक्चर

  1. C भाषा में लूप कंट्रोल स्टेटमेंट्स क्या हैं? फ्लो चार्ट और प्रोग्राम के साथ समझाएं C भाषा में लूप कंट्रोल स्टेटमेंट्स क्या हैं? फ्लो चार्ट और प्रोग्राम के साथ समझाएं

    लूप कंट्रोल स्टेटमेंट्स स्टेटमेंट्स के सेट को दोहराने के लिए उपयोग किए जाते हैं। वे हैं: for लूप while लूप do-while लूप for लूप सिंटैक्स for(initialization; condition; increment/decrement) { // लूप बॉडी } फ्लो चार्ट (Condition पर वापस) आरंभीकरण - आमतौर पर एक असाइनमेंट स्टेटमेंट जो लूप क