دهلران پی سی
سایت جامع علمی ,آموزشی,فرهنگی و تفریحی

در بخش اول اين مقاله با اسکريپت های ويژوال بيسيک و ساختارهای کنترلی در VB.NET به صورت اجمالی آشنا شديم . در بخش دوم به بررسی ساختارهای تصميم گيری ، خواهيم پرداخت .
همانگونه که قبلا" اشاره گرديد ، با استفاده از ساختارهای تصميم گيری ، يک و يا چندين شرط بررسی و بر اساس نتايج بدست آمده ، دستور و يا دستوراتی اجراء و يا از اجرای دستور و يا دستوراتی صرفنظر می گردد . در VB.NET از دو روش متفاوت  در اين رابطه استفاده می گردد : 

  • If ...Then : تعداد مسيرهائی را که می توان پس از بررسی يک عبارت شرطی انتخاب نمود ، اندک است  .

  • Select Case :تعداد مسيرهائی را که می توان پس از بررسی يک عبارت شرطی انتخاب نمود ، زياد است  . 


در بخش اول اين مقاله با اسکريپت های ويژوال بيسيک و ساختارهای کنترلی در VB.NET به صورت اجمالی آشنا شديم . در بخش دوم به بررسی ساختارهای تصميم گيری ، خواهيم پرداخت .
همانگونه که قبلا" اشاره گرديد ، با استفاده از ساختارهای تصميم گيری ، يک و يا چندين شرط بررسی و بر اساس نتايج بدست آمده ، دستور و يا دستوراتی اجراء و يا از اجرای دستور و يا دستوراتی صرفنظر می گردد . در VB.NET از دو روش متفاوت  در اين رابطه استفاده می گردد : 

  • If ...Then : تعداد مسيرهائی را که می توان پس از بررسی يک عبارت شرطی انتخاب نمود ، اندک است  .

  • Select Case :تعداد مسيرهائی را که می توان پس از بررسی يک عبارت شرطی انتخاب نمود ، زياد است  . 

مثلا" در صورتی که در يک برنامه قصد طرح اين پرسش از کاربران را  داريم که :  " آيا می خواهيد قرار ملاقات خود را از طريق تلفن ، نهائی نمائيد ؟"قطعا" پاسخ به سوال فوق دو گزينه بيشتر نخواهد داشت (  پاسخ مثبت ( True ) و منفی ( False ) ) . بنابراين می توان در چنين مواردی از ساختار If...Then استفاده نمود . ولی در صورتی که از کا ربر پرسش شود که : " آيا می خواهيد قرار ملاقات خود  را از طريق تلفن ، فاکس و يا  Email ، نهائی نمائيد ؟" ، با توجه به تعداد گزينه های موجود ، ترجيح داده می شود که از ساختار Select Case استفاده شود .
قبل از پرداختن با جزئيات نحوه استفاده از ساختارهای فوق ، لازم است با برخی عملگرها که از آنان به منظور ايجاد عبارات شرطی استفاده می شود،بيشتر آشنا شويم .

عملگرهای مقايسه ای
عملگرهای مقايسه ای در VV.NET عبارتند از :

کاربرد

عملگر

 مساوی

 =

 کوچکتر از

>

کوچکتر يا مساوی 

=>

 نامساوی

<>

 بزرگتر

<

 بزرگتر يا مساوی

 =>

عملگرهای منطقی
در VB.NET از عملگرهای منطقی متعددی استفاده می شود. جدول زير برخی از متداولترين آنان را نشان می دهد :

مثال

کاربرد

عملگر

  If  A=1 AND B=2 Then 

 در صورت درست بودن تمامی عملوندها ، شرط مورد نظر ارزش درست را پيدا خواهد کرد . 

 AND

If  A=1 OR  B=2 Then

 درصورت درست بودن يکی از عملوندها ، شرط مورد نظر ارزش درست را پيدا خواهد کرد

OR

If  NOT A=1 Then

مقدار مخالف شرط را بر می گرداند . در صورتی که شرط مورد نظر ارزش درست را داشته باشد ، NOT آن مقدار نادرست را برمی گرداند . 

NOT

اولويت عملگرهای فوق به ترتيب OR,AND,NOT می باشد .

ساختار If...Then  

ساختار فوق دارای چهار بخش اساسی است :

  • يک عبارت که شامل يک و يا چندين شرط است که ماحصل آن True و يا False خواهد بود .

  • کد لازم  در صورتی که نتيجه عبارت شرطی ، درست باشد .

  • کد لازم در صورتی که نتيجه عبارت شرطی نادرست باشد ( اختياری )

  • يک عبارت که نشاندهنده پايان ساختار است .

برای ايجاد ساختار If...Then ازروش های متفاوتی استفاده می گردد . برای انتخاب گرامر مناسب می بايست به دو سوال فوق پاسخ داده شود  :

  • در مواردی که  نتيجه عبارت شرطی  False  گردد ، قصد انجام کار( و يا کارهای )  خاصی را داريد ؟ 

  • در صورتی که نتيجه عبارت شرطی درست باشد ، قصد اجرای بيش از يک دستور را داريد ؟

If..Then : ساده ترين روش استفاده ازساختار تصميم گيری است . در صورت استفاده از ساختار فوق و در مواردی که نتيجه عبارت شرطی نادرست ( False ) باشد ، نمی توان دستور ويا دستوراتی را اجراء نمود .

 If  A=1 Then TestMessage.Text = " نتيجه عبارت شرطی ، درست است "

در صورتی که قصد داشته باشيم پس از بررسی  عبارت شرطی و درست بودن آن بيش از يک دستور را اجراء نمائيم ، می بايست پس از درج دستورات مورد نظر ، از يک End If در قسمت پايانی دستورات ،  استفاده نمائيم .

If  A=1 Then
      TestMessage.Text = " در صورت درست بودن شرط ، دو دستور اجراء می گردد "
       B = 2
End If

If...Then...Else : از ساختار فوق در مواردی که قصد داشته باشيم پس ازبررسی عبارت شرطی و با توجه به نتيجه آن ( درست و يا نادرست ) دستورات خاصی را اجراء نمائيم ، استفاده می شود . 

If  A=1 Then
      TestMessage.Text = " در صورت درست بودن شرط ، اجراء می گردد"
Else
      TestMessage.Text = "
در صورت نادرست بودن شرط ، اجراء می گردد" 
End If

If...Then ...ElseIf  : با اين که استفاده از ساختار فوق به منظور تصميم گيری بندرت انجام می شود ، ولی در موارد خاصی لازم است که از اين ساختار استفاده شود. با استفاده از ساختار فوق می توان عبارات شرطی متفاوتی را با يکديگر ترکيب و بر اساس نتايج بدست آمده ، دستور و يا دستورات خاصی را با توجه به وضعيت بوجود آمده ، اجراء نمود .  بدين منظور لازم است که هر يک از حالات موجود را با استفاده از ElseIf  از يکديگر جدا نموده و در نهايت تمامی ساختار را با استفاده از End If  به پايان رساند .

If  A=1 Then
      TestMessage.Text = " A=1" 
ElseIf  A=2 Then
      TestMessage.Text = " A=2 " 
ElseIf  A=3 Then
      TestMessage.Text = " A=3 " 
End If

مثال : نحوه استفاده از ساختار If...Then
در اين مثال کامپيوتر عددی را به صورت تصادفی توليد نموده و از شما درخواست می شود که اين عدد را تشخيص دهيد  .

مرحله اول : تايپ کد زير با استفاده از يک ويرايشگر

 




چه عددی را بخاطر سپرده ام ؟
 
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10



 
  

ورود کاربران

خوش آمدید! لطفا وارد حساب خود شوید

رمز عبور را فراموش کرده‌اید؟
حساب کاربری ندارید؟

فراموشی رمز عبور

نام کاربری یا ایمیل خود را وارد کنید

یا

ثبت نام کاربران

در چند ثانیه حساب کاربری خود را بسازید

قبلا ثبت نام کرده‌اید؟

نظرات کاربران

دیدگاه خود را با ما در میان بگذارید

 مرحله دوم :  پس از ذخيره کد فوق در فايلی با نام ifthen.aspx و مشاهده آن در مرورگر ، خروجی زير را خواهيم داشت :

مرحله سوم : انتخاب عدد مورد نظر و کليک بر روی دکمه "تشخيص عدد "

توضيحات :

  • با استفاده از کنترل > که اعداد يک تا ده را نمايش می دهد از کاربر خواسته ايم که عددی را انتخاب نمايد .

  • در کد نوشته شده دو متغير به اسامی theNumber و theGuess تعريف که از آنان به منظور ذخيره عدد توليد شده تصادفی  و عدد حدس زده شده توسط کاربر استفاده می گردد .

  • برای توليد اعداد تصادفی از تابع ()rnd استفاده شده است. تابع فوق ، يک عدد اعشاری بين صفر و يک را توليد می نمايد . برای داشتن يک عدد تصادفی بين يک تا ده ، می بايست عدد توليد شده  را در ده ضرب نمود . بدين ترتيب يک عدد بين صفر تا ده توليد می شود .

  • با استفاده از ساختار If...Then بررسی لازم در خصوص عدد انتخاب شده توسط کاربر و مقايسه آن با  عدد تصادفی توليد شده انجام و بر اساس آن پيام مناسبی  به کاربر ارائه خواهد شد .

ساختار Select Cast
يکی از چالش های استفاده از ساختار If...Then در مواردی است که قصد داشته باشيم  تعداد سه و يا بيش از سه وضعيت را بکمک آن مقايسه نمائيم . مثلا" در صورتی که بخواهيم يک کاربر را بر اساس انتخاب انجام شده به شش صفحه وب مجزاء هدايت نمائيم ، استفاده از ساختار If...then علاوه بر اين که کد برنامه را ناخوانا خواهد کرد ، سرعت اجرای کد نوشته شده نيز کندتر می گردد. در چنين مواردی می توان از ساختار Select Case استفاده نمود .

مثال : نحوه استفاده از ساختار Select Case

مرحله اول : تايپ کد زير با استفاده از يک ويرايشگر






 


    کدام شهرستان را برای مسافرت انتخاب می نمائيد ؟


   
      تهران
      اهواز
      شيراز
  


  


  <asp:label id="message" runat="server"/>

ورود کاربران

خوش آمدید! لطفا وارد حساب خود شوید

رمز عبور را فراموش کرده‌اید؟
حساب کاربری ندارید؟

فراموشی رمز عبور

نام کاربری یا ایمیل خود را وارد کنید

یا

ثبت نام کاربران

در چند ثانیه حساب کاربری خود را بسازید

قبلا ثبت نام کرده‌اید؟

نظرات کاربران

دیدگاه خود را با ما در میان بگذارید


 مرحله دوم :  پس از ذخيره کد فوق در فايلی با نام selectcase.aspx و مشاهده آن در مرورگر ، خروجی زير را خواهيم داشت :

مرحله سوم : انتخاب گزينه  مورد نظر و کليک بر روی دکمه " ارسال درخواست "

توضيحات :

  • با استفاده از کنترل <asp:radiobuttonlist> ، مجموعه ای از گزينه ها ارائه شده است .

  • با استفاده از ساختار Select Case بررسی لازم در خصوص گزينه انتخاب شده توسط کاربر انجام و متناسب با آن پيام خاصی در کنترل lablel نمايش داده می شود .

  • در صورتی که به هر دليلی يکی از گزينه های ارائه شده،  انتخاب نشود و يا خطای خاصی اتفاق افتاده باشد که داده انتخابی با هيچيک از موارد ذکر شده در ساختار Select Case مطابقت ننمايد ، بخش Case else ساختار Select Case انتخاب و دستورات موجود در اين بخش اجراء خواهند شد .

در بخش سوم اين مقاله به بررسی ساختارهای تکرار خواهيم پرداخت .




تاریخ: یکشنبه 26 خرداد 1392
ارسال توسط dlp

ورود کاربران

خوش آمدید! لطفا وارد حساب خود شوید

رمز عبور را فراموش کرده‌اید؟
حساب کاربری ندارید؟

فراموشی رمز عبور

نام کاربری یا ایمیل خود را وارد کنید

یا

ثبت نام کاربران

در چند ثانیه حساب کاربری خود را بسازید

قبلا ثبت نام کرده‌اید؟

نظرات کاربران

دیدگاه خود را با ما در میان بگذارید