एक कार्यविधि या फ़ंक्शन में इसके अंतर्गत किसी अन्य कार्यविधि के लिए कॉल हो सकती है। समेत, सबरूटीन खुद को कॉल कर सकता है। इस मामले में, कंप्यूटर परवाह नहीं करता। वह, हमेशा की तरह, ऊपर से नीचे तक मिलने वाले आदेशों को लगातार निष्पादित करता है।
अगर आपको गणित याद है, तो वहां आपको गणितीय आगमन का सिद्धांत मिल सकता है। यह इस प्रकार है: कुछ कथन प्रत्येक प्राकृतिक n के लिए सत्य है यदि
1) यह n = 1;
के लिए मान्य है
2) किसी भी स्वैच्छिक प्राकृतिक n = k के लिए कथन की वैधता से यह इस प्रकार है कि यह n = k+1 के लिए सत्य है।
प्रोग्रामिंग में, इस तकनीक को रिकर्सन कहा जाता है।
पुनरावर्तन दिए गए सरल आधार मामलों के आधार पर, सेट के संदर्भ में वस्तुओं के एक सेट को परिभाषित करने का एक तरीका है।
पुनरावर्ती एक प्रक्रिया (फ़ंक्शन) है जो स्वयं को सीधे या अन्य प्रक्रियाओं और कार्यों के माध्यम से कॉल करती है।
पुनरावर्ती प्रक्रिया का उदाहरण:
void Rec(int a)
{
अगर (ए एंड जीटी; 0) { आरईसी (ए -1);
कंसोल। राइटलाइन (ए);
}
योजनाबद्ध रूप से, पुनरावर्तन के कार्य को फ़्लोचार्ट के रूप में दर्शाया जा सकता है।
>
Rec()
प्रक्रिया को पैरामीटर के साथ क्रियान्वित किया जाता है 3 फिर, पैरामीटर 3 के साथ प्रक्रिया के अंदर, पैरामीटर 2 के साथ प्रक्रिया को कॉल किया जाता है, और इसी तरह, जब तक पैरामीटर 0 के साथ प्रक्रिया को नहीं कहा जाता है। फिर नियंत्रण को पैरामीटर 1 के साथ प्रक्रिया में वापस स्थानांतरित कर दिया जाता है, यह नंबर 1 को प्रिंट करके अपना काम भी पूरा करता है, और इसी तरह। पैरामीटर 3 के साथ प्रक्रिया से पहले।
जब तक वे अपना काम पूरा नहीं कर लेते, तब तक सभी प्रक्रियाओं को स्मृति में संग्रहीत किया जाता है। समवर्ती प्रक्रियाओं की संख्या को रिकर्सन डेप्थ कहा जाता है।