آموزش برنامه نویسی سی شارپ: حلقه for چیست؟
جلسه شانزدهم: حلقه for چیست؟
در این جلسه میخواهیم با حلقه for و کاربرد آن، آشنا بشویم. میتوان گفت حلقه برای یک برنامه نویس نوعی ابزار محسوب میشود تا برنامه نویس مجبور نباشد یک دستور یا کد را چندین بار تکرار کند. به عبارتی، حلقه از تکرار یک دستور جلوگیری میکند. ما با یادگیری حلقه ها، کد های برنامه نویسی را برای خود کوتاه تر میکنیم.ربرای مثال، اگر ما بخواهیم یک متن مانند “Hello World” را ۲۰ بار چاپ کنیم، احتمالا کسی که با حلقه ها آشنا نباشد، ۲۰ بار دستور چاپ حلقه ها را مینویسد تا برنامه آن ۲۰ بار چاپ کند، اما با وجود حلقه for، برای ۲۰ بار چاپ کردن یک متن مانند “Hello world” کافیست تنها یک بار، دستور چاپ را در حلقه for بنویسیم که در ادامه برای شما بیشتر توضیح خواهیم داد.
ما در آموزش های قبل، تمام جلسات را در templates یا همان محیط windows Forma App سپری کردیم و با این محیط آشنا شدیم. قصد داریم که ابتدا به طور کامل با Windows Forma App اشنا شویم بعد به سراغ بقیه Templates های دیگری مانند Console App برویم. اما اکنون، حلقه ها را در templates یا محیط Console App یاد میگیریم. به این علت که در محیط console میتوان حلقه های for را با درک و مفاهیم بیشتر یاد گرفت.
در ابتدا وارد نرم افزار Visual Studio میشویم. سپس بر روی گزینه Create a new Project کلیک میکنیم تا یک پروژه جدید بسازیم.

سپس برنامه از ما میخواهد تا یک Templates یا یک الگو، برای چارچوپ کلی برنامه نویسی، انتخاب کنیم. ما در اینجا (Console App (core را انتخاب میکنیم.

گزینه Next را میزنیم. اکنون میتوانیم یک نام برای پروژه در نظر بگیریم. ما نام (console App (test را برای این پروژه انتخاب میکنیم. سپس میتوانید محل ذخیره فایل این پروژه را مشخص کنید. اکنون بر روی گزینه Finish کلیک کنید تا وارد محیط Console App بشویم.

سپس وارد محیط کدنویسی میشوید. همانند زیر:


برای آشنایی با Namespace و Class ها، بر روی این لینک کلیک کنید.
کاربرد دستور ()Console.WriteLine، این است که میتواند یک متن یا رشته را برای ما در محیط Console نمایش دهد. کافیست متن مورد نظر را درون پرانتز () مربوط به دستور ()Console.WriteLine، بین دو کاراکتر ” ” بنویسید تا برای شما چاپ شود. در این قسمت، به طور پیش فرض، برنامه برای شما متن !Hello World را چاپ میکند. کافیست بر روی کامپایلر کلیک کنید تا پروژه start شود.

اکنون فرض کنید اگر ما بخواهیم ۱۰ بار یک متن Hello World را چاپ کنیم. در صورت عدم استفاده از حلقه for باید دستور ;(“!Console.WriteLine(“Hello World را ۱۰ بار بنویسیم. همانند شکل زير:

تا اينجا دستور ;(“!Console.WriteLine(“Hello World را ۱۰ بار چاپ کرديم. اکنون بر روي گزينه Console App Test در قسمت بالا کليک ميکنيم تا پروژه start شود.
مشاهده ميکنيد که متن Hello World براي ما ۱۰ بار چاپ شد. اکنون يک سوال پيش مي ايد. آيا براي هر بار چاپ کردن يک متن، بايد يک بار دستور ()Console.WriteLine بنويسيم؟ قطعا خير، گفتيم که حلقه for به يک برنامه نويس کمک ميکند تا از تکرار یک دستور جلوگیری کند. براي مثال، ما در اينجا ميتوانيم با استفاده از حلقه for دستور ;(“!Console.WriteLine(“Hello World را فقط يک بار بنويسيم و هر تعداد که ميخواهيم دستور Hello World را چاپ کنيم.
اکنون با استفاده از حلقه For برنامه اي مينويسيم که متن Hello World را ۱۰ بار چاپ کند.
ابتدا يک متغير از جنس int به نام i تعريف ميکنم. سپس حلقه for را مينويسيم و يک () در جلوی آن قرار ميدهيم. دستورات و شرط هاي مربوط به حلقه، درون اين () قرار ميگيرند.
static void Main(string[] args)
{
int i;
for ( )
}
اکنون باید درون پرانتز مربوط به حلقه for، متغیر i را برابر با ۰ قرار میدهیم. دلیل ساخت متغیر i و مساوی قرار دادن آن با ۰ این است که ما میخواهیم شمارنده تعریف کنیم که از عدد ۰ شروع شود.
static void Main(string[] args)
{
int i;
for (i=0; )
}
به متغیر یک مقدار ۰ دادیم. اکنون یک شرط میگذاریم که تا زمانی که مقدار i کوچیکتر از ۱۰ میباشد، ادامه دستورات را انجام بده. ما در اینجا یک شمارنده ساختیم که از عدد ۰ شروع بشود و تا عدد کوچکتر از ۱۰ پایان یابد. چرا ۰ تا ۱۰؟ بدلیل اینکه میخواهیم دستور چاپ Hello world برای ما ۱۰ بار چاپ شود. عبارت (;i = 0; i < 10) باعث میشود حلقه ۱۰ دور اجرا شود.
static void Main(string[] args)
{
int i;
for (i = 0; i < 10;)
}
براي اينکه دستور ۱۰ بار چاپ شود، حلقه بايد ۱۰ دور اجرا شود. و بايد در هر دور اجرا شدن، متغیر i را با عدد ۱ جمع کند. براي اینکه هر بار، مقدار i با عدد ۱ جمع شود، بايد بنويسيم ++i
پس عبارت ++i به این معنی است که در هربار اجرای حلقه، یکی به مقدار i اضافه کن.
static void Main(string[] args)
{
int i;
for (i = 0; i < 10; i++)
}
نحوه کار کردن حلقه، به اين شکل است که اين حلقه از عدد ۰ شروع به اجرا شدن ميکند. در اول مقدار i که همان عدد ۰ ميباشد با عدد ۱ جمع ميشود و مقدار متغیر i پس از جمع شدن برابر با عدد ۱ميشود.سپس دستور Hellp world يک بار چاپ ميشود.
تا اينجا حلقه يک بار اجرا شد و متغیر i برابر با عدد ۱ قرار گرفت. سپس براي بار دوم حلقه از اول اجرا میشود. مقدار متغیر i که برابر با عدد ۱ شد با ۱ جمع ميشود و مقدار متغير i برابر با عدد ۲ ميشود و دستور Hello World يک بار ديگر چاپ ميشود.
دور سوم حلقه هم به همین شکل است و متغیر i که در دور قبل برابر با ۲ شد در اینجا با ۱ جمع میشود و متغیر i برابر با عدد ۳ قرار میگیرد و دستور Hello World یک بار دیگر چاپ میشود. پس در هر دور اجرای حلقه، یکی به مقدار متغیر i اضافه میشود (به علت نوشتن ++i در برنامه ).
به عبارتی حلقه از مقدار i=0 شروع میشود و تا i=9 به پایان میرسد
نکته: تا زمانی این فرآیند ادامه پیدا میکند که مقدار i کوچیکتر از عدد ۱۰ قرار بگیرد. پس هر وقت دستور ۱۰ بار اجرا شد حلقه متوقف میشود.
سپس دستور چاپ متن Hello world را مينويسيم
{
static void Main(string[] args)
{
int i;
for (i = 0; i < 10; i++)
Console.WriteLine(“Hello World”);
}
همانطور که مشاهده میکنید، با استفاده از حلقه for، توانستیم ۱۰ بار متن Hello World را چاپ کنیم، با اینکه فقط یک بار دستور چاپ را نوشتیم. با ما همراه باشید.
نقد و بررسیها