Module: (पायथन) सबरूटीन्स। प्रत्यावर्तन


Problem

1/12

पुनरावर्तन। यह क्या है?

Theory Click to read/hide

रिकर्सन

एक प्रक्रिया या कार्य में इसके भीतर दूसरी प्रक्रिया के लिए कॉल हो सकती है। समेत, सबरूटीन खुद को कॉल कर सकता है। इस मामले में, कंप्यूटर परवाह नहीं करता। साथ ही, हमेशा की तरह, वह उन आदेशों को लगातार निष्पादित करता है जो उसे ऊपर से नीचे तक मिलते हैं।

अगर आपको गणित याद है, तो आप गणितीय आगमन के सिद्धांत से मिल सकते हैं। यह इस प्रकार है:
प्रत्येक प्राकृतिक n if
के लिए कुछ कथन सत्य है     1. यह n = 1 और
के लिए मान्य है     2. किसी भी मनमाना प्राकृतिक n = k के लिए कथन की वैधता से यह इस प्रकार है कि यह n = k + 1.
के लिए सत्य है
प्रोग्रामिंग में, इस तकनीक को पुनरावृत्ति
कहा जाता है  
रिकर्सन दिए गए सेट के आधार पर ऑब्जेक्ट के सेट को परिभाषित करने का एक तरीका है सरल आधार मामले।

रिकर्सिव एक प्रक्रिया (फ़ंक्शन) है जो स्वयं को सीधे या अन्य प्रक्रियाओं और कार्यों के माध्यम से कॉल करता है।
 
उदाहरण
<पूर्व> <कोड> डीईएफ़ आरईसी (ए): अगर (ए एंड जीटी; 0): आरईसी (ए -1) प्रिंट (ए)
आरेखीय रूप से, पुनरावर्तन के कार्य को फ़्लोचार्ट द्वारा प्रदर्शित किया जा सकता है



Rec() प्रक्रिया को पैरामीटर 3 के साथ निष्पादित किया जाता है। फिर, पैरामीटर 3 के साथ प्रक्रिया के अंदर, पैरामीटर 2 के साथ प्रक्रिया को कॉल किया जाता है, और इसी तरह, जब तक पैरामीटर 0 वाली प्रक्रिया को कॉल नहीं किया जाता है। जब पैरामीटर 0 वाली प्रक्रिया को कॉल किया जाता है, पुनरावर्ती कॉल अब नहीं होगी और पैरामीटर 0 वाली प्रक्रिया संख्या 0 को प्रिंट करेगी और बाहर निकल जाएगी। फिर नियंत्रण को पैरामीटर 1 के साथ प्रक्रिया में वापस स्थानांतरित कर दिया जाता है, यह नंबर 1 को प्रिंट करके अपना काम भी पूरा करता है, और इसी तरह। पैरामीटर 3 के साथ प्रक्रिया से पहले। 

जब तक वे अपना काम पूरा नहीं कर लेते, तब तक सभी प्रक्रियाओं को स्मृति में संग्रहीत किया जाता है। समवर्ती प्रक्रियाओं की संख्या को रिकर्सन डेप्थ कहा जाता है।
 

Problem

पार्स की गई प्रक्रिया का उपयोग करते हुए, मुख्य प्रोग्राम में आवश्यक पंक्तियां जोड़ें।
समझें कि कार्यक्रम ऐसी प्रतिक्रिया क्यों देता है।