PDA

توجه ! این یک نسخه آرشیو شده می باشد و در این حالت شما عکسی را مشاهده نمی کنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : ساختارهای شرطی و حلقه ها در Visual Basic.NET



TAHA
10-29-2009, 12:31 AM
ين گفتار برآنيم تا ساختارهای شرطی در ويژوال بيسيک دات نت را بررسی کنيم. اين ساختارها If..Then و Select..Case می باشند.


ساختار If..Then

ابتدائی ترين ساختار شرطی در ويژوال بيسيک دات نت ساختار If..Then می باشد. با استفاده از اين ساختار هنگامی که شرط مورد نظر برقرار باشد، می توان دستور يا دستورات متعددی را اجرا نمود.

بعنوان مثال در برنامه زير اگر زمان سيستم بعد از ظهر را نشان دهد، جمله "Good Evening IranASP.NET" بر روی صفحه نمايش داده می شود.


<%
Dim myTime As DateTime
myTime = Now

if Hour(myTime) >= 12 then
Response.write ("Good Evening IranASP.NET !")
end if
%>


همچنين ساختار If..Then عبارت Else را هم پشتيبانی می کند. اگر شرط مربوط به If برقرار نباشد، دستورات موجود در قسمت Else اجرا می شوند. به مثال زير توجه فرمائيد.



<%
Dim myTime As DateTime
myTime = Now

if Hour(myTime) >= 12 then
Response.write ("Good Evening IranASP.NET !")
else
Response.write ("Good Morning IranASP.NET !")
end if

%>

ساختار Select..Case

در ساختار Select..Case می توان مقداری را با مقادير مختلفی مقايسه کرده و دستورات مربوط به مقدار يافت شده را اجرا نمود. بعنوان مثال قطعه برنامه زير پيامهای مختلفی را برحسب نوع مرورگر نمايش می دهد.


<%
Dim strBrowser As String

strBrowser = Request.Browser.Browser
Select Case strBrowser
Case "IE"
Response.Write( "You are using Internet Explorer!" )
Case "Netscape"
Response.WRite( "You are using Netscape!" )
Case Else
Response.Write( "What browser are you using?" )
End Select
%>

دقت داشته باشيد که ساختار Select..Case در برنامه فوق دارای يک قسمت Case Else می باشد. هرگاه هيچ يک از حالات مقايسه ای برقرار نبود، دستورات موجود در قسمت Case Else اجرا می گردند. استفاده از Case Else اختياری است.

TAHA
10-29-2009, 12:31 AM
قه های تکرار
حلقه های تکرار وقتی استفاده می شوند که می خواهیم دستورات مشخصی چندین بار اجرا شوند. به عبارت دیگر برای اجرای تکراری دستورات از حلقه ای تکرار استفاده می شود.

حلقه for
این حلقه بسیار ساده و در عین حال بسیار پر کاربرد است. ساختار خلاصه شده این دستور به صورت زیر است:



for counter = start to end
statements
next

الگوریتم حلقه for به صورت زیر است :
1. مقدار start را در counter جایگزین کن
2. اگر counter <= end انگاه وارد حلقه شو در غیر این صورت به خط اول بعد از next برو .
3. statements را اجرا کن
4. (کلمه کلیدی next ) یکی به counte اضافه کن و به مرحله 2 بازگرد.
از حلقه for وقتی استفاده می کنیم که می خواهیم دستوراتی را به تعداد دفعات معین تکرار کنیم. برای مثال اگر بخواهیم 10 تا از یک کارکتر را در یک textbox بنویسیم از حلقه for استفاده میکنیم .



dim i as integer
for i = 1 to 10
textbox1.text +="A"
next

عبارت textbox1.text +="A" معادل textbox1.text = textbox1 + "A" است .
پس از اجرای متن textbox1 ده کارکتر "A" اضافه می شود.

در اینجا ما از متغیر i هیچ استفاده ای نکردیم . متغیر شمارنده حلقه بسیار کارامد است در زیر تکه برنامه ای امده است که می تواند که می تواند عدد های یک تا ده را در یک جعبه متن بنویسد.



dim i as integer
for i = 1 to 10
textbox1.text += (i & " ")
next


در اینجا ابتدا متغیر i که شمارنده حلقه است برابر 1 می شود سپس بدنه حلقه اجرا می شودکه باعث می شود مقدار یک (با یک فاصله) به textbox1.text اضافه شود . پس از اجرای بدنه حلقه اجرای دستورات به خط nextمیرسد وi برابر 2 می شود از انجا که 2<=10 است بدنه حلقه بار دیگر اجرا می شود. این کار تا زمانی انجام می شود که i=10 شود در این مرحله پس از اینکه بدنه حلقه اجرا شد i=11 می شود و از انجا که 11<=10 نیست اجرای برنامه به اولین خط بعد از next منتقل می شود. و کار حلقه به پایان می رسد.

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


while condition
statements
end while

الگوریتم حلقه while به صورت زیر است :
1. اگر شرط (condition) برقرار است وارد حلقه شو اگر نه از حلقه خارج شو .
2. دستورات را اجرا کن
3. برگرد به 1
توجه داشته باشید که در حلقه while ابتدا شرط حلقه برسی می شود و فقط در صورت درستی شرط برنامه بدنه حلقه را اجرا خواهد کرد. پس اگر از ابتدا شرط معتبر بر قرار نباشد بدنه هرگز اجرا نخواهد شد .

مثال : می خواهیم برنامه بنویسیم که عددی از کاربر بگیردو بگوید کوچکترین عددی که به 3 بخشپذیر و از عدد کاربر بزرگتر باشد چند است.
برای حل این مساله میتوانیم فرض کنیم جواب عدد x است و تا وقتی که x کوچکتر از عدد کاربر است ان را بعلاوه 3 کنیم و حاصل جمع را در خود x جایگزین کنیم . برای این کار نمیتوانیم از حلقه for استفاده کنیم چون تعداد تکرار مشخص نیست. پس از حلقه while استفاده می کنیم :


dim result as integer = 0
while result <= textbox1.text
result += 3
end while
label1.text = result



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


while 1 < 2

end while

یا

while true

end while



دستر های exit for و exit while هر یک برای خروج ناگهانی از حلقه for یا while استفاده میشود .