
توابع بازگشتی در C++
در این آموزش توابع بازگشتی در سی پلاس پلاس ( recursion function ) را مورد بررسی قرار میدهیم.
توابع بازگشتی در C++ توابعی هستند که خودشان خودشان را فراخوانی میکنند یعنی تابع در درون خودش دوباره خودش را صدا میزند و دستورات مربوطه را اجرا میکند.
recursionfunction() {
recursionfunction(); // calling self function
}
مثال توابع بازگشتی در C++
در مثال معروف زیر تابع بازگشتی ای داریم که فاکتوریل اعداد را محاسبه کرده و به عنوان خروجی برمیگرداند.
همانطور که در مثال بالا مشاهده میکنید برای جلوگیری از تکرار نامحدود تابع بازگشتی از دستورات شرطی استفاده کرده ایم.
به تابع زیر دقت کنید:
long factorial(int a)
{
if(a > 1)
return ( a*factorial(a-1) );
else
return (1);
}
فرض کنید عدد 4 را به تابع داده ایم تابع تا زمانی که شرط 1 < a
برقرار باشد خودش را اجرا میکند و محاسبه ادامه دارد.
راه شناخت مؤمن و منافق
و درود خدا بر او، فرمود: اگر با شمشيرم بر بينى مؤمن بزنم كه دشمن من شود، با من دشمنى نخواهد كرد، و اگر تمام دنيا را به منافق ببخشم تا مرا دوست بدارد، دوست من نخواهد شد. و اين بدان جهت است كه قضاى الهى جارى شد، و بر زبان پيامبر امّى صلّى اللّه عليه و آله و سلّم گذشت كه فرمود: «اى على مؤمن تو را دشمن نگيرد، و منافق تو را دوست نخواهد داشت.»
حکمت 45 نهج البلاغه