फंक्शंस की कार्यप्रणाली और उदाहरण

Sep 7, 2024

DSA Lecture Notes - Functions

परिचय

  • इस लेक्चर में हम फंक्शंस के बारे में जानेंगे।
  • फंक्शंस प्रोग्रामिंग में एक महत्वपूर्ण भूमिका निभाते हैं।

फंक्शन क्या है?

  • फंक्शन एक ब्लैक बॉक्स की तरह होता है।
  • यह कुछ इनपुट लेता है, कुछ कार्य करता है, और एक आउटपुट लौटाता है।
  • उदाहरण के लिए, "हैलो वर्ल्ड" प्रिंट करने के लिए एक फंक्शन बना सकते हैं।

फंक्शन की संरचना

  1. रिटर्न टाइप: फंक्शन का आउटपुट टाइप बताता है (जैसे int, void)।
  2. फंक्शन का नाम: इसे पहचानने के लिए नाम दिया जाता है।
  3. कोड का ब्लॉक: {} के बीच में फंक्शन का कार्य लिखा जाता है।

फंक्शन को कैसे बनाएं?

  • उदाहरण: एक फंक्शन जो "हैलो" प्रिंट करता है:
    void printHello() {
        cout << "Hello";
    }
    
  • फंक्शन को कॉल करने का तरीका:
    printHello();
    

फंक्शन की परिभाषा

  • फंक्शन को डिफाइन करने के बाद उसे कॉल करना आवश्यक है। यदि कॉल नहीं किया गया, तो कोड कोई आउटपुट नहीं देगा।

फंक्शन के प्रकार

  1. वैल्यू रिटर्निंग फंक्शन: कोई वैल्यू लौटाता है।
  2. नॉन-वैल्यू रिटर्निंग फंक्शन: कुछ नहीं लौटाता (रिटर्न टाइप void)।

पारामीटर्स और आर्ग्युमेंट्स

  • फंक्शंस में इनपुट के लिए पारामीटर्स होते हैं।
  • उदाहरण:
    int sum(int a, int b) {
        return a + b;
    }
    
  • आर्ग्युमेंट्स वे वैल्यूज हैं जो फंक्शन कॉल के दौरान पास की जाती हैं।

कोड की पठनीयता

  • कोड में अनावश्यक पुनरावृत्ति (redundancy) से बचें।
  • फंक्शंस का उपयोग कोड को साफ और प्रबंधनीय बनाने के लिए किया जाता है।

अन्य उदाहरण

  • फैक्टोरियल: n का फैक्टरियल निकालने के लिए एक फंक्शन बनाना।
  • बाइनोमियल गुणांक: n, r के लिए बाइनोमियल गुणांक की गणना।
  • डिजिट का योग: किसी संख्या के अंकों का योग निकालने का फंक्शन।

मेमोरी में फंक्शन का कार्य

  • फंक्शन स्टैक मेमोरी में स्टोर होते हैं।
  • प्रत्येक फंक्शन कॉल पर एक नया स्टैक फ्रेम उत्पन्न होता है।
  • जब एक फंक्शन समाप्त होता है, तो उसका स्टैक फ्रेम हटा दिया जाता है।

पास बाय वैल्यू और पास बाय रिफरेंस

  • पास बाय वैल्यू: फंक्शन में आर्ग्युमेंट्स की कॉपी बनाई जाती है, मूल वैल्यू पर कोई प्रभाव नहीं पड़ता।
  • पास बाय रिफरेंस: फंक्शन में वास्तविक एड्रेस पास किया जाता है।

होमवर्क समस्याएँ

  1. एक फंक्शन लिखें जो जांचे कि कोई संख्या प्राइम है या नहीं।
  2. सभी प्राइम संख्याएँ 1 से n तक प्रिंट करें।
  3. n-था फिबोनैचि संख्या प्रिंट करें।
  4. स्विच स्टेटमेंट पर काम करें।

संक्षेप

  • आज के लेक्चर में हमने फंक्शंस, उनके प्रकार, मेमोरी में उनके कार्य, और पास बाय वैल्यू के बारे में सीखा।
  • आगे हम रिफरेंस पासिंग के बारे में जानेंगे।