Module: زیر برنامه ها بازگشت


Problem

2/8

بازگشت. شبیه سازی چرخه

Theory Click to read/hide

دیده‌ایم که بازگشت، اجرای مکرر دستورالعمل‌های موجود در یک زیر روال است. و این به نوبه خود شبیه کار چرخه است. زبان های برنامه نویسی هستند که ساختار حلقه در آنها اصلا وجود ندارد، به عنوان مثال، Prolog. 
بیایید سعی کنیم عملکرد حلقه for را شبیه سازی کنیم. 
حلقه for شامل یک متغیر شمارنده گام است. در یک زیربرنامه بازگشتی، چنین متغیری می تواند به عنوان یک پارامتر ارسال شود. <پیش> رویه //LoopImitation() با دو پارامتر //پارامتر اول – گام شمار، پارامتر دوم – تعداد کل مراحل Procedure LoopImitation(i, n: integer); شروع     writeln('Hello N ', i); // عملگر برای هر مقدار i تکرار شود     اگر من < n سپس // تا زمانی که شمارنده حلقه برابر با مقدار n شود،         LoopImitation(i + 1, n); // فراخوانی یک نمونه جدید از رویه، با پارامتر i+1 (انتقال به مقدار بعدی i) پایان؛

Problem

برنامه زیر را مطالعه کنید و یک فراخوانی رویه با پارامترهای i=1، n=10 در برنامه اصلی صادر کنید <پیش> رویه //LoopImitation() با دو پارامتر //پارامتر اول – گام شمار، پارامتر دوم – تعداد کل مراحل Procedure LoopImitation(i, n: integer); شروع     writeln('Hello N ', i); // عملگر برای هر مقدار i تکرار شود     اگر من < n سپس // تا زمانی که شمارنده حلقه برابر با مقدار n شود،         LoopImitation(i + 1, n); // فراخوانی یک نمونه جدید از رویه، با پارامتر i+1 (انتقال به مقدار بعدی i) پایان؛ شروع     // در اینجا لازم است فراخوانی رویه با پارامترهای i=1, n=10 صادر شود پایان.