PDA

توجه ! این یک نسخه آرشیو شده می باشد و در این حالت شما عکسی را مشاهده نمی کنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : حلقه های تکرار در vb



TAHA
10-29-2009, 12:27 AM
تو برنامه نويسي گاهي (شايدم زياد) پيش مياد كه بخوايم يه تيكه از كدمون رو تا وقتي كه ميخوايم تكرار كنيم

مثلا ساده ترين برنامه اي كه ميشه نوشت به اين صورته كه اگه بخوايم اعداد يك تا 10 رو چاپ كنيم در صورتي كه از

ساختار حلقه استفاده نشه بايد يه الگوريتمي مثل پايين داشته باشه


1 رو چاپ كن
2 رو چاپ كن
3 رو چاپ كن
.
.
.
.
و الي آخر


که اين برنامه حدودا ميشه 10 يا 12 سطر ولي اگه بخوايم از 1 تا 100 يا 1000 رو چاپ كنيم بايد برناممون 100 خط

داشته باشه كه اين 100 خط رو ميشه با يه حلقه تو 3 يا 4 خط خلاصه كرد

حلقه تکرار For:

از این حلقه برای تکرار عملیات خاصی به تعداد مشخص انجام می شود. يعني هموني كه بالا مثال زدم

شكل كلي :


کد

:

For Counter = Start_Value To End_Value [Step Step_Count]

بلاکی از یک یا چند دستور ویژوال بیسیک

Next [Counter]

Counter شمارنده حلقه

Start_Value مقدار اولیه شمارنده

End_Value مقدار پایانی شمارنده



ابتدا متغییر counter برابر Start_Value قرار می گیرد و دستورات یک بار اجرا می شوند سپس counter به اندازه

Step_Count افزایش یافته و دوباره دستورات اجرا می شوند و این عمل تا وقتی که به End_Value برسیم تکرار می

شود.

نکته:

اگر Step_Count ذکر نشود مقدار پیش فرض آن یک می باشد.

می توان Counter جلوی Next را ننوشت ولی به دلیل ناخوانایی برنامه در حلقه های تودرتو این کار توصیه نمی شود.

مثال:

کد:



Dim i, Sum As Integer

For i = 0 To 100

Sum = Sum + i

Next i

Text1.Text = Sum


در این مثال مجموع اعداد بین 0 تا 100 محاسبه شده و در آخر مقدار آن در جعبه متن قرار داده می شود.

کد:



Dim i, Sum As Integer

For i = 1 To 10 Step 2

Sum = Sum + i

Next i

Text1.Text = Sum

در این مثال مجموع اعداد فرد بین 1 تا 10 محاسبه می شود.

کد:

Dim i As Single

Dim Counter As Integer

For i = 5 To -5 Step -0.5

Counter = Counter + 1

Next

Text1.Text = Counter


در این مثال تعداد پیمایش اعداد بین 5 تا 5- با مقدار 0.5- شمارش می شود.

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


با استفاده از دستور Exit For می توان قبل از موعد مقرر از حلقه خارج شد
.
مثال:

کد:



For i = 10 To 100

If (i Mod 7) = 0 Then Exit For

Next i

Text1.Text = "The first number is " & i


این مثال اولین عدد بخش پذیر بر 7 را بر می گرداند. هنگامی که عدد بر 7 بخش پذیر شود با دستور Exit For از حلقه

بیرون می آییم. (راستش يادم نيست MOD رو گفتيم يا نه ولي بهش ميرسم . Mod باقيمانده i رو بر 7 برميگردونه )


يه مثال ديگه (يه كم بزرگتر) :

کد:



For i = 0 To 100

If (i Mod 2) = 0 Then

Even = Even + 1

Else

Odd = Odd + 1

End If

Next i


Text1.Text = "Even numbers: " & Even & " Odd numbers: " & Oddاين برنامه هم تعداد اعداد زوج و فرد رو از 1 تا 100 ميشمره و تو text1 چاپ ميكنه