حلقه ی تکرار معین for (مبانی برنامه نویسی)
سلام خدمت همه ی دوستان و علاقمندان zero to hero
همونطور که می دونید تو قسمت قبلی درباره ی حلقه های تکرار صحبت کردیم و تو این قسمت سعی داریم حلقه های تکرار معین رو در برنامه نویسی بهتون معرفی کنیم. برای استفاده از حلقه های تکرار معین باید با سه مفهوم مورد استفاده آشنا بشیم که این سه مفهوم عبارتند از: ۱- شمارنده ی حلقه ۲- گام حلقه و ۳- شرط پایان حلقه. که ما این سه مفهوم رو با مثال همیشگیمون براتون بیان می کنیم.
فرض کنید شما می خواید برای رستورانتون ۲۰ میز چوبی به یه نجار سفارش بدید. کاری که اون نجار انجام میده اینه که طرح میز رو از شما میگیره و شروع به ساخت می کنه. بعد از این که نجار هر میز رو ساخت مسلما نمی تونه میز ساخته شده رو تو کارگاه نگه داره و باید اونو به انبار منتقل کنه، اما اگه میز رو به انبار منتقل کنه هر بار برای این که بدونه چند تا میز تا بحال ساخته شده باید به انبار برگرده و تمام میز ها رو بشماره. برای این که از اتلاف وقت و انرژی جلوگیری بشه، این نجار به راحتی می تونه یه کاغذ و خودکار برداره و ابتدا عدد صفر رو روش بنویسه و هر بار که یه میز ساخته میشه، یه واحد به عدد روی کاغذ اضافه کنه، با این کار نجار در هر لحظه می دونه که تا بحال چند میز ساخته شده. و این کاغذ برای نجار دقیقا نقش شارنده ی حلقه در برنامه نویسی رو داره. ما در برنامه نویسی از یک متغیر برای شمارنده استفاده می کنیم.
این نجار می تونه با ساخت هر میز هر بار یک واحد به عدد روی کاغذ اضافه کنه و میز رو به انبار منتقل کنه. حالا فرض کنید که کارگاه نجار ظرفیت نگهداری یک میز رو داشته باشه، بنابراین نجار هر بار که دو تا میز ساخته شد، دو واحد به عدد روی کاغذ اضافه می کنه و دو میز رو به انبار منتقل می کنه. به این که در هر لحظه به مقدار شمارنده ی حلقه چند واحد اضافه بشه، گام حلقه گفته میشه.
چه زمانی این نجار باید دست از ساخت میز برداره؟ در واقع چه زمانی کار ساخت میز به پایان میرسه؟ درسته! زمانی که روی کاغذ نجار عدد ۲۰ نوشته بشه. این دقیقا زمانیه که ۲۰ میز ساخته شده و کار ساخت میز به پایان رسیده. به این مفهوم که چه زمانی (بر اساس مقدار شمارنده ی حلقه) حلقه باید به کارش خاتمه بده، شرط پایان حلقه گفته میشه.
حالا فرض کنید می خوایم برنامه ای بنویسیم که اعداد ۱ تا ۲۰ رو با استفاده از یک حلقه ی تکرار معین برامون چاپ کنه. ابتدا الگوریتم اون رو به صورت شبه کد می نویسیم. همون طور که می دونید برای داشتن حلقه باید یک متغیر به عنوان شمارنده داشته باشیم که من اسم اون رو i می زارم.
start integer i
کاری که باید انجام بدیم اینه که i رو از ۱ شروع کنیم و هر بار i رو چاپ کنیم و یک واحد بهش اضافه کنیم و دوباره اون رو چاپ کنیم و این کار رو ۲۰ بار انجام بدیم. پس می تونیم بنویسیم:
start integer i i = 1 print i i = i + 1 if(i<=20) then goto line 4 end
تو خط ششم هر بار چک می کنیم که اگر i هنوز به ۲۰ نرسیده با دستور goto برو به خط ۴ و تمام این کار ها(چاپ i و اضافه کردن) رو دوباره تکرار کن. اما ما در برنامه نویسی از این دستور goto استفاده نمی کنیم. بلکه در برنامه نویسی برای استفاده از حلقه ی تکرار معین از ساختار for استفاده می کنیم که به این صورته:
for(گام حلقه;شرط پایان حلقه;مقدار اولیه شمارنده) { دستورات حلقه }
یعنی ما برای شبه کد بالا می تونیم از این برنامه استفاده کنیم:
#include <iostream> using namespace std; int main(){ int i; for(i = 1;i<=20;i = i + 1) { cout << i << endl; } return 0; }
که خروجی اون طبق عکس زیر نشون میده که حلقه ی for داره درست عمل می کنه.
منتظر مقاله های بعدی مبانی برنامه نویسی و الگوریتم ها باشید.
قهرمان دنیای خودت باش!
لینک پست بعدی مبانی برنامه نویسی
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.