Problem

1/8

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

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

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