توابع بازگشتی در سی پلاس پلاس

  /  سی پلاس پلاس   /  توابع بازگشتی در C++

در این آموزش توابع بازگشتی در سی پلاس پلاس ( recursion function ) را مورد بررسی قرار میدهیم.

توابع بازگشتی در C++ توابعی هستند که خودشان خودشان را فراخوانی میکنند یعنی تابع در درون خودش دوباره خودش را صدا میزند و دستورات مربوطه را اجرا میکند.

recursionfunction() {
     recursionfunction(); // calling self function
}

مثال توابع بازگشتی در C++

در مثال معروف زیر تابع بازگشتی ای داریم که فاکتوریل اعداد را محاسبه کرده و به عنوان خروجی برمیگرداند.

#include <iostream.h>
#include <conio.h>

long factorial(int);

int main()
{
long number;

cout << "Please type a number :" ;
cin >> number;

getch();
return 0;
}

long factorial(int a)
{
if(a > 1)
return ( a*factorial(a-1) );
else
return (1);
}

همانطور که در مثال بالا مشاهده میکنید برای جلوگیری از تکرار نامحدود تابع بازگشتی از دستورات شرطی استفاده کرده ایم.

به تابع زیر دقت کنید :

long factorial(int a)
{
if(a > 1)
return ( a*factorial(a-1) );
else
return (1);
}

فرض کنید عدد 4 را به تابع داده ایم تابع تا زمانی که شرط 1 < a برقرار باشد خودش را اجرا میکند و محاسبه ادامه دارد.

برای دسترسی به آموزش های بیشتر و ویدیو های من ، کلمه کلیدی متین برونسی را داخل گوگل سرچ کنید.

ارسال یک نظر