Posted: Sat Feb 26, 2005 11:09 am Post subject: حلقه های تکرار
حلقه های تکرار
از حلقه های تکرار برای تکرار انجام عملیات خاصی استفاده می شود.
حلقه تکرار 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 از حلقه بیرون می آییم.
مثال:
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
این مثال تعداد اعداد زوج و فرد 0 تا 100 را می شمارد.
حلقه تکرار While:
اجرای دستورات تا زمانی که شرط درست است انجام می شود.
نکته: شرط حلقه در ابتدای حلقه چک می شود.
While condition
بلاکی از یک یا چند دستور ویژوال بیسیک
Wend
از While بیشتر برای پیمایش رشته ها استفاده می شود.
مثال:
While Not state
List1.AddItem i
i = i + 1
If i > 20 Then state = True
Wend
تا وقتی که state ارزش نادرستی دارد دستورات انجام می شود.
اعداد 0 تا 20 در لیست چاپ می شوند.
حلقه های تکرار Do:
حلقه Do چند نوع مختلف دارد که هرکدام با مثال توضاح داده می شود.
نوع اول:
Do while condition
بلاکی از یک یا چند دستور ویژوال بیسیک
Loop
تا وقتی که شرط درست است دستورات انجام می شوند. شرط در ابتدای حلقه چک می شود.
مثال:
Dim i, sum As Integer
Dim State As Boolean
State = True
Do While State
sum = sum + i
i = i + 1
If i > 100 Then State = False
Loop
Text1.Text = sum
مجموع اعداد 0 تا 100 را محاسبه می کند.
نوع دوم:
Do
بلاکی از یک یا چند دستور ویژوال بیسیک
Loop while condition
تا وقتی که شرط درست است دستورات انجام می شوند. شرط در انتهای حلقه چک می شود.
مثال:
Dim i, sum As Integer
Dim State As Boolean
Do
State = True
sum = sum + i
i = i + 1
If i > 100 Then State = False
Loop While State
Text1.Text = sum
نوع سوم:
Do Until condition
بلاکی از یک یا چند دستور ویژوال بیسیک
Loop
تا وقتی شرط نادرست است دستورات اجرا می شوند و به محض این که شرط برقرار شد اجرای حلقه خاتمه می یابد. شرط در ابتدای حلقه چک می شود.
مثال:
Dim x As Integer
x = 1
Do Until x < 0
List1.AddItem x
x = x + 1
If x > 20 Then x = -1
Loop
اعداد 1 تا 20 را در لیست چاپ می کند.
نوع چهارم:
Do
بلاکی از یک یا چند دستور ویژوال بیسیک
Loop Until condition
تا وقتی شرط نادرست است دستورات اجرا می شوند و به محض این که شرط برقرار شد اجرای حلقه خاتمه می یابد. شرط در انتهای حلقه چک می شود.
مثال:
Dim x As Integer
x = 1
Do
List1.AddItem x
x = x + 1
If x > 20 Then x = -1
Loop Until x < 0
اعداد 1 تا 20 را در لیست چاپ می کند.
برای خارج شدن از حلقه Do از دستور Exit Do استفاده می شود.
مثال:
Dim x As Boolean
Dim i As Integer
Do While 1
List1.AddItem i
i = i + 1
If i > 20 Then Exit Do
Loop
شرط حلقه همیشه برقرار است پس باید برای خاتمه حلقه از Exit Do استقاده کرد.
اعداد 0 تا 20 در لیست چاپ می شوند.
در ایجا حلقه های تکرار به پایان رسید ولی بهید به چند نکته دقت کرد:
حلقه بینهایت حلقه ای است که هیچگاه خاتمه نمی یابد و این در برنامه ایجاد اخلال می کند. همیشه از خاتمه یافتن حلقه اطمینان پیدا کنید.
اگر چند حلقه درون هم به کار روند حلقه تودرتو داریم. در حلقه های تودر تو اول حلقه داخی تر کاملا اجرا شده بعد حلقه های بیرونی اجرا می شوند.از حلقه های تودر تو بیشتر برای مقدار دادن به آرایه های چند بعدی استفاده می شود.
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum