در این بخش با عناصر مورد نیاز در تکرار کنترل شده با شمارنده آشنا می شویم.یعنی:
1- نام یک متغیر کنترلی (شمارنده حلقه) که برای تعیین ادامه حلقه استفاده می شود.
2- مقدار اولیه متغیر کنترلی.
3- افزایش(یا کاهش) که متغیر کنترلی هر بار در حلقه با آن اصلاح می شود.
4- شرطی که مقدار نهایی متغیر کنترلی را امتحان می کند(یعنی آیا حلقه باید خاتمه یابد)
5- برنامه زیر را در نظر بگیرید
1 // whilecounter.cs
2 //counter-controlled repetition.
3
4 using System;
5
6 class WhileCounter
7 {
8 static void Main( string[] args)
9 {
10 int counter=1; //initialization
11
12 while(counter<=5) //repetition condition
13 {
14 Console.WriteLine(counter);
15 counter++;
16
17 } //end while
18
19 } //end method main
20 } // end class whilecounter
خط 10 متغیر کنترلی counter را نام گذاری کرده و آن را به صورت یک عدد صحیح معرفی می کند.سپس فضایی را برای آن در حافظه رزرو کرده است و آن را با یک مقدار اولیه تنظیم می کند.این عبارت یک معرفی است که دارای مقدار اولیه است.معرفی و مقدار دهی اولیه counter نیز می تواند با معرفی و عبارت
Int counter;
Counter=1;
انجام شود.معرفی اجرایی نیست، اما قابل اجراست.خطوط 12 تا 17 ساختار while را تعریف می کنند.در طی هر تکرار حلقه ، خط 14 مقدار جاری counter را نمایش می دهد و خط 15 متغیر کنترلی را در هر تکرار حلقه ، یک واحد افزایش می دهد.شرط ادامه حلقه در ساختارwhile امتحان می کند که آیا مقدار متغیر کنترلی کوچک تر یا مساوی 5 است(مقدار نهایی برای شرط true است).بدنه این while حتی هنگامی که متغیر کنترلی 5 است اجرا می شود.حلقه هنگامی خاتمه می یابد که متغیر کنترلی از 5 بیشتر شود.
ساختار تکرار for:
ساختار تکرار for جزئیات تکرار کنترل شده با شمارنده را مدیریت می کند.برنامه قبل را بازنویسی می کنیم.
1 //forcounter.cs
2 //counter-controlled repetition whit the for structure.
3
4 using System;
5
6 class forcounter
7 {
8 static void Main( string[] args)
9 {
10 //initialization, repetition condition and incrementing
11 //are all included in the for structure
12 for (int counter=1;counter<=5;counter++)
13 Console.WriteLine(counter);
14 }
15 }
متد Main (خطوط 8 تا 14) به این صورت عمل می کند: هنگامی که ساختار for شروع به اجرا می کند ، برنامه متغیر کنترلی counter را با 1 مقدار دهی می کند.سپس برنامه شرط ادامه حلقه را امتحان می کند اگر شرط درست بود مقدار counter به خروجی فرستاده می شود.بنابراین ،برنامه متغیر counter را در عبارت counter++ افزایش می دهد و حلقه مجددا با امتحان ادامه حلقه شروع می شود.
توجه: استفاده از یک عملگر رابطه ای نادرست یا استفاده از یک مقدار نهایی نادرست برای یک شمارنده حلقه در شرط یک ساختار while,for یا do/while می تواند منجر به یک خطا شود.
توجه: مقادیر اعشاری ممکن است تقریبی باشند، بنابراین کنترل حلقه های با شمارنده با متغیر های اعشاری ممکن است موجب مقادیر شمارنده غیر دقیق و آزمایشات نادرست برای خاتمه شود.
در قسمت های بعدی بیشتر در این مورد بحث خواهیم کرد.
به پسران در كودكي شير سگ دهيد ، شايد در بزرگي وفا بياموزند – شكسپير
