آموزش ویژوال بیسیک

آموزش قدم به قدم ویژاول بیسیک 2015 از مبتدی تا پیشرفته

آموزش ویژوال بیسیک

آموزش قدم به قدم ویژاول بیسیک 2015 از مبتدی تا پیشرفته

طبقه بندی موضوعی

درس نهم : شروط و تصمیم گیری با Select Case

پنجشنبه, ۱۲ فروردين ۱۳۹۵، ۰۷:۴۴ ب.ظ

درس نهم : شروط و تصمیم گیری با Select Case

9-1 مقدمه

  در درس قبل با شروط و تصمیم گیری به کمک If … Then آشنا شدیم. همچنین آموختیم اگر شرایط تصمیم گیری متعددی وجود داشته باشد، میتوان از شروط تو در تو استفاده کرد. اما راه بهتر، بهینه تر و خوانا تری برای این کار وجود دارد. وقتی تعداد شرایط ممکن برای یک تصمیم به تعداد خیلی زیادی میرسد، استفاده از شروط تو در تو :

  1. خوانایی برنامه را کاهش میدهد.
  2. بازدهی و سرعت را کاهش میدهد.
  3. حجم کد را افزایش میدهد.
  4. احتمال خطا را افزایش میدهد.
  5. اشکال یابی آن دشوار میشود.

  در همین راستا میتوان در مواقعی که تعدد شرایط وجود دارد، به جای IF … Then … Else از Select Case استفاده کرد. استفاده از Select Case مشکلات ذکر شده را رفع کرده و کد را معقول تر و با کیفیت تر میسازد.

9-2 سینتکس Select Case

  سینتکس این کد به صورت زیر است:

Select Case (Statement)

Case (val 1)

Statement

Case else

Statement

End Select

  ابتدا با عبارت کلیدی Select Case شروع و مقابل آن متغیر یا هر تارگتی که میخواهیم شرایط ممکن آن را مورد پیشبینی قرار دهیم مینویسیم. سپس Case های مختلف را با ارزش های معین تعیین میکنیم. زیر هر Case کدهایی که میخواهیم در صورت اتفاق افتادن آن Case اجرا شوند مینویسیم. بعد از اتمام همه ی Case ها با کلمه ی کلیدی End Select بلاک کد را میبندیم.

9-2-1 Case Else

  Case Else درست مانند Else در بلاک IF عمل میکند. وقتی هیچ یک از شرایط پیش بینی شده صادق نبود میخواهیم دستورات مربوط به این قسمت اجرا شوند. Case Else یعنی اگر هر اتفاقی جز موارد تعریف شده رخ داد دستورات زیر را اجرا کن.

9-2-2 یک تفاوت عمده ی Select Case با دستور مشابه در زبانهای C-Style

  اگر با زبانهای سی استایل آشنا باشید، میدانید که دستور Select Case در ویژوال بیسیک در واقع معادلی برای دستور Switch در این زبانهاست. اگر با Switch آشنا هستید ممکن است به اشتباه در Select Case از دستور Break استفاده کنید. باید دانست که Select Case نیازی به دستور Break ندارد. همچنین دقت کنید که بر حسب عادت از دستور Default استفاده نکنید. در ویژوال بیسیک به جای دستور Default از Case Else استفاده میشود.

9-3 تعیین بازه ی شرط در Select Case

9-3-1 دستور TO

  با این عبارت کلیدی میتوان یک بازه برای شرط تعیین کرد. Case 40 To 50 یعنی از 40 تا 50 به مثال زیر توجه فرمایید:

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

        Dim mark As Single = 19
        Select Case mark
            Case 0 To 10
                MsgBox(“افتضاح”)
            Case 11 To 14
                MsgBox(“ضعیف”)
            Case 15 To 16
                MsgBox(“خوب”)
            Case 17 To 20
                MsgBox(“عالی”)
            Case Else
                MsgBox(“ارور”)
        End Select

    End Sub

  در مثال بالا متغیر مارک با مقدار اولیه ی 19 و از نوع اعشاری تعریف شده است. شرط اول بیان میکند که اگر نمره از عدد صفر تا 14 و هر عددی مابین این دو عدد بود، پیغام "افتضاح" را چاپ کن. و همینطور تا پایان کد. Case Else هم با پیغام "ارور" قرار داده شده که اگر مقداری جز بین 0 تا 20 وارد شد برنامه بلاتکلیف نماند.

تمرین : مثال درس قبل یعنی محاسبه گر شاخص توده بدنی را با Select Case بنویسید. 

نظرات (۲)

  • طاها میرویسی
  • خوبه!

    باسلام و خسته نباشید

    ممنون از آموزش های عالی تون.

    فکر میکنم متن زیر باید اصلاح بشه :

    " شرط اول بیان میکند که اگر نمره از عدد صفر تا 14 و هر عددی مابین این دو عدد بود، پیغام "افتضاح" را چاپ کن. "

    موفق باشید