حلقه ها در برنامه نویسی

یکشنبه 19 دی 1400

همه ما میدونیم کامپیوتر ها هرکاری که ما بهشون بگیم رو دقیقا همونطوری که ما گفتیم انجام میدن ، پس خیلی مهمه که بتونیم دستور مون رو درست بهشون منتقل کنیم تا بهشون فشار نیاد و سریع و بهینه برن دستور مارو اجرا کنند ، یکی از مهمترین دستورات در زبان های برنامه نویسی جلقه ها هستند که تو این پست میخوایم باهم بررسی شون کنیم

حلقه ها در برنامه نویسی

سلام دوستان محمد رجب زاده هستم و تو این پست میخوایم باهم دیگه حلقه هارو به طور کلی در برنامه نویسی و با محوریت زبان سی شارپ بررسی کنیم .

قبل از هرچیز باید ببینیم اصلا چند مدل حلقه داریم

زبان های برنامه نویسی مختلف انواع مختلفی از حلقه رو دارن اما به طور کلی حلقه ها عبارتند از for - foreach - while و do while که هرکدوم کارایی خودشون رو دارن

 

فعالیت حلقه ها همونطور که از اسمشون مشخصه اینه که دستوراتی رو که به اونها داده میشه تا زمانی که شرط اونها بر قرار باشه اجرا کنن 

 

اول از همه با حلقه for شروع میکنیم که توی بیشتر زبون های برنامه نویسی هستش

 

عملکرد حلقه for

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

ورودی اول اون یه عدده که بهش Initialization میگن که معادل فارسیش میشه مقدار دهی اولیه معمولا هم 0 رد میشه (اینکه این عدد چند باشه به برنامه نویس و نیاز اون مربوط میشه)

ورودی دوم این حلقه شرطش هست ، همونطور که بالاتر اشاره شد حلقه ها تا زمانی که شرطشون برقرار باشه دستوراتی رو که بهشون داده شده تکرار میکنن

ورودی سوم این حلقه هم یک دستوره که پس از هربار اجرا حلقه اجرا میشه و وظیفش اینه که عددی رو که به عنوان ورودی اول به حلقه دادیم رو بروز کنه که معمولا یکی بهش اضافه میکنه

نمونه ای از حلقه for

for(int i = 0; i < 10; i++)
{
	// Codes ...
}

در حلقه بالا دستورانی که توی بدنه حلقه (بین {} باشن) تا زمانی که متغیر i کمتر از 10 باشه اجرا میشن . همچنین در این حلقه پس از هربار اجرای دستورات مقدار متغیر i بعلاوه 1 میشه چرا که ما به عنوان ورودی سوم که دستور بروزرسانی هست این دستور رو بهش دادیم

پس حلقه ما 10 بار اجرا میشه (از 0 شروع میشه تا 9)

 

عملکرد حلقه foreach

استفاده حلقه foreach تقریبا نزدیک به حلقه for هست ، استفاده از حلقه for عموما برای خوندن خونه به خونه آرایه ها یا لیست هاست به این صورت که طول آرایه یا لیست رو به عنوان شرط حلقه for در نظر گرفته میشه و متغیر اول اون که پیش تر توضیح دادیم یکی یکی افزایش پیدا میکنه ، و توی بدنه حلقه اون عدد رو به عنوان index آرایه یا لیست وارد میشه و به خونه های آرایه یا لیستمون دسترسی داره

اصلا توضیحات کافیه یه نمونه مثال بزنیم

var list = ["Item 1", "Item 2", "Item 3"];
for (int i= 0; i < list.Count; i++)
{
	Console.WriteLine(list[i]);
}
// Result => 
// Item 1
// Item 2
// Item 3

 

حالا بریم کاربرد و فعالیت حلقه foreach رو بررسی میکنم

این حلقه خودش یک لیست یا آرایه میگیره و اون رو خونه خونه در اختیار ما قرار میده 

var list = ["Item 1", "Item 2", "Item 3"];
foreach (var item in list) 
{
	Console.WriteLine(item);
}
// Result =>
// Item 1
// Item 2
// Item 3

به همین راحتی و بدون دردسر های حلقه for با این حلقه میتونیم خیلی راحت به خونه های آرایه مون دسترسی داشته باشیم

 

عملکرد حلقه while

این حلقه از نظر عملکردی و نه کاربردی بسیار شبیه به حلقه for هست اما با این تفاوت که این حلقه صرفا شرط رو میگیره و تا زمانی که شرط برقرار باشه حلقه ما اجرا میشه ، در واقع تنها تفاوت این دوحلقه همینه

مثال

var index = 0;
while (index < 10) 
{
	Console.WriteLine("Index: " + index);
}
// Result => 
// Index: 0
// Index: 1
// Index: 2
...
// Index: 8
// Index: 9

 

عملکرد حلقه do-while

این حلقه هم بسیار شبیه به حلقه while هست با یه تفاوت بسیار ریز و جزئی اما مهم ، در تمام حلقه هایی که تا اینجا بررسی کردیم اول شرطشون بررسی میشه و اگر شرط برقرار بود دستور رو اجرا میکنه اما در این حلقه اول دستور اجرا میشه و در آخر شرط بررسی میشه .

اگر متوجه نشدین از توضیحاتم به مسال زیر توجه کنین

do 
{
	Console.WriteLine("Run !!!")
} while (1 > 3)
// Result =>
// Run !!!

همونطور که مشاهده میکنید با اینکه شرط ما برقرار نیست اما دستور ما یک بار اجرا شد . تفاوت حلقه while و do-while دقیقا همین مسئله بسیار سادست .

محمد رجب زاده

نویسنده 5 مقاله در برنامه نویسان
  • C#.net
  • 1k بازدید
  • 0 تشکر

کاربرانی که از نویسنده این مقاله تشکر کرده اند

تاکنون هیچ کاربری از این پست تشکر نکرده است

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید