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