دیدهایم که بازگشت، اجرای مکرر دستورالعملهای موجود در یک زیر روال است. و این به نوبه خود شبیه کار چرخه است. زبان های برنامه نویسی هستند که ساختار حلقه در آنها اصلا وجود ندارد، به عنوان مثال، Prolog.
بیایید سعی کنیم عملکرد حلقه for را شبیه سازی کنیم.
حلقه for شامل یک متغیر شمارنده گام است. در یک زیربرنامه بازگشتی، چنین متغیری می تواند به عنوان یک پارامتر ارسال شود.
رویه //LoopImitation() با دو پارامتر
//پارامتر اول – گام شمار، پارامتر دوم – تعداد کل مراحل
Void LoopImitation (int i، int n)
{
cout << "سلام ن" << من << endl; // عملگر برای هر مقدار i تکرار شود
اگر (i < n) //تا زمانی که شمارنده حلقه با مقدار n برابر شود،
{ //یک نمونه جدید از رویه را با پارامتر i+1 فراخوانی کنید (به مقدار i بعدی بروید)
LoopImitation(i+1, n);
}
}