مثال الجمل الشرطية If ElseIf Else -- Select Case

مثال الجمل الشرطية If Else


تستخدم الجمل الشرطية للتحقق من شرط معين أو قيمة معينة وإظهار النتيجة بناء على تحقق الشرط أو عدم تحققه عندما يتحقق الشرط تظهر رسالة أما في حالة عدم تحقق الشرط لن يظهر أي شي وإذا أردنا إظهار رسالة أو تنفيذ تعليمات في حال عدم تحقق الشرط نقوم باستخدام Else مع الشرط If بالطريقة التالية:

If (x=5) Then
MessageBox.Show (“Five”)
Else
MessageBox.Show (“Not Five”)
End If

وتعني بأنه إذا تحقق الشرط وكانت القيمة X تساوي 5 سيتم إظهار الرسالة الأولى وفي حالة عدم تحقق الشرط ستظهر الرسالة الثانية.

 مثال 1: اكتب برنامج يقوم بإدخال عدد في مربع نص ثم إظهار هل هو عدد زوجي أم فردي داخل أداة Label


الخطوات المتبعة لتصميم البرنامج:

1- نفتح مشروع جديد ونضع عليه أداتي Label وأداة TextBox وزر ونجعل الخصائص للأدوات كما يلي:



اسم الأداة
اسم الخاصية
القيمة
Form1
Text
الأعداد الزوجية والفردية
Label1
Text
أدخل العدد
TextBox1
TextAlign
Center
Button
Text
إظهار النتيجة
TextBox2
BorderStyle
Fixed3D



2- بعد تصميم الفورم نضغط مرتين على زر إظهار النتيجة لكتابة الكود الخاص به كما يلي:

Private Sub Button1_Click (ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If TextBox1.Text Mod 2 = 0 Then
             "العدد زوجي"= TextBox2.Text
        Else
              "العدد فردي"= TextBox2.Text
        End If
  End Sub


لمعرفة إذا كان العدد زوجي أم فردي نأخذ باقي قسمته على 2 فإذا كان باقي القسمة يساوي الصفر فهو عدد زوجي وغير ذلك فهو عدد فردي ولحساب باقي القسمة في فيجوال بيسك نستخدم الدالة Mod.




مثال2: اكتب برنامج يقوم بإدخال عددين ومعرفة العدد الأكبر والأصغر بينهما وإظهار العدد الكبير باللون الأزرق والعدد الصغير باللون الأخضر.


خطوات تصميم البرنامج:

1- نفتح مشروع جديد ونضع عليه 6 أدوات  Labelوأداتي TextBox وزر ونجعل الخصائص للأدوات كما يلي:


اسم الأداة
اسم الخاصية
القيمة
Form1
Text
العدد الأكبر والأصغر
Lable1
Text
العدد الأول
Label2
Text
العدد الثاني
Label3
Text
العدد الأكبر
Label4
Text
العدد الأصغر
TextBox1
TextAlign
Center
TextBox2
TextAlign
Center
TextBox3
BorderStyle
Fixed3D
TextBox4
BorderStyle
Fixed3D
Button1
Text
إظهار النتيجة

2- بعد تصميم الفورم نضغط مرتين على زر إظهار النتيجة لكتابة الكود الخاص به كما يلي:
Private Sub Button1_Click (ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        TextBox3.ForeColor = Color.Blue
        TextBox4.ForeColor = Color.Green
        If Val(TextBox1.Text) > Val(TextBox2.Text) Then
            TextBox3.Text = TextBox1.Text
            TextBox4.Text = TextBox2.Text
        Else
            TextBox3.Text = TextBox2.Text
            TextBox4.Text = TextBox1.Text
        End If
    End Sub

ملاحظة: تم إظهار نتيجة العدد الأكبر داخل TextBox3 وإظهار نتيجة العدد الأصغر داخل TextBox4.

مثال الجمل الشرطية If ElseIf Else



تستخدم هذه الجمل في حال كان لدينا شرطين أو أكثر ولتوضيح هذه الجمل نأخذ الأمثلة التالية:

مثال1: لنفترض أنه لدينا برنامج لإدخال درجات الطالب ثم إظهار التقدير في رسالة.

خطوات تصميم البرنامج:
1- نفتح مشروع جديد ونضع عليه أداة TextBox و أداة Label وزرين واحد لإظهار النتيجة والآخر للخروج من البرنامج ونجعل الخصائص للأدوات كما يلي:




اسم الأداة
الخاصية
القيمة
Form1
Text
درجات الطلاب
Label1
Text
أدخل الدرجة هنا
TextBox1
TextAlign
Center
Button1
Text
إظهار النتيجة
Button2
Text
خروج



2- بعد تصميم الفورم نضغط مرتين على زر إظهار النتيجة لكتابة الكود الخاص به كما يلي:


    Private Sub Button1_Click (ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If Val (TextBox1.Text) < 50 Then
            ("ضعيف")MessageBox.Show
        Else If Val (TextBox1.Text) <= 70 Then
            ("مقبول")MessageBox.Show
        ElseIf Val (TextBox1.Text) <= 80 Then
            ("جيد")MessageBox.Show
        ElseIf Val (TextBox1.Text) <= 90 Then
           ("جيد جدا") MessageBox.Show
        ElseIf Val (TextBox1.Text) < 100 Then
            ("ممتاز")MessageBox.Show
        Else
            ("خطأ في أدخال العلامة")MessageBox.Show
        End If
    End Sub


أدخال درجة الطالب س
تكون داخل أداة TextBox1 وبالتالي فإن الشرط هو التحقق من قيمة هذه الأداة ونستخدم الدالة Val لتحويل القيمة النصية الموجودة داخل الأداة إلى قيمة رقمية لمنع حدوث أي خطأ أثناء التنفيذ.

نلاحظ هنا وجود أكثر من شرط حيث تم أستخدام If مع ElseIf و Else فإذا كانت القيمة الموجودة داخل الأداة أصغر تماما من 50 سيتم إظهار رسالة التقدير ضعيف وإذا كانت القيمة أصغر أو تساوي 70 سيتم إظهار رسالة تقدير مقبول وهكذا.

عند تنفيذ البرنامج والضغط على زر إظهار النتيجة سيقوم البرنامج بتأكد من القيمة داخل أداة TextBox عن طريق التحقق من الشرط If وفي حال عدم تحقق الشرط سينتقل إلى الشرط الذي يليه وهكذا حتى تنتهي كل الشروط أما في حالة عدم تحقق أي شرط من هذه الشروط سيتم تنفيذ التعليمات الموجودة داخل Else أي أن التعليمات الموجودة داخل Else لا يتم تنفيذها إلا في حال عدم تحقق الشرط داخل If و ElseIf.

3- نضغط مرتين على زر الخروج لكتابة الكود الخاص به كما تعلمنا سابقا:

Private Sub Button2_Click (ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        End
    End Sub



ملاحظة هامة: الترتيب في جملة If الشرطية هام جدا لأن البرنامج عند تحقق أول شرط سيتم تنفيذ التعليمات الموجودة بداخله وسيتوقف بعدها أي لن يتم التحقق من بقية الشروط الأخرى وعليه فلا بد أن يكون الترتيب بشكل تصاعدي للجمل الشرطية, ففي الميثال السابق لو بدأنا بالشرط If Val (TextBox1.Text)<=100 سيعتمد البرنامج هذا الشرط ولن يتم التحقق من بقية الشروط الأخرى وبالتالي إذا كانت الدرجة التي تم إدخالها أصغر من 50 ستظهر النتيجة دائما التقدير ممتاز لأنها تحقق الشرط أصغر أو تساوي 100 لذلك يجب مراعاة الترتيب في الشروط من الأصغر إلى الأكبر.





مثال 2: اكتب برنامج يقوم بترجمة الكلمات من اللغة الأنجليزية إلى اللغة العربية وإظهار الترجمة باللون الأزرق وفي حال لم تكن الترجمة موجودة تظهر كلمة Error باللون الأحمر.



خطوات تصميم البرنامج:

1-  نفتح مشروع جديد و ونضع عليه أداتي Label وأداة TextBox وزر ونجعل الخصائص للأدوات كما يلي:



اسم الأداة
اسم الخاصية
القيمة
Form1
Text
الترجمة
Label1
Text
أدخل الكلمة المراد ترجمتها هنا
TextBox1
TextAlign
Center
Button
Text
إظهار الترجمة
TextBox2
Text

TextBox2
Font
Size=16
TextBox2
BorderStyle
Fixed3D



2- بعد تصميم الفورم نضغط مرتين على زر إظهار الترجمة لكتابة الكود الخاص به كما يلي:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        TextBox2.ForeColor = Color.Blue
        If TextBox1.Text.ToLower = "Water" Then
          "ماء"= TextBox2.Text 
        ElseIf TextBox1.Text.ToLower = "School" Then
           "مدرسة"= TextBox2.Text 
        ElseIf TextBox1.Text.ToLower = "Car" Then
            "سيارة"= TextBox2.Text 
        Else
           " TextBox2.Text = "Error
            TextBox2.ForeColor = Color.Red
        End If
    End Sub

مثال دمج الشروط


يمكننا دمج أكثر من شرط في نفس الوقت باستخدام المعاملات التالية (And, Or, Not).

1- المعامل And: عند استخدام هذا المعامل فهذا يعني أنه يجب تحقق جميع الشروط في وقت واحد حتى يتم تنفيذ التعليمات الموجودة داخل هذه الشروط وفي حال عدم تحقق أي شرط فإنه لن يتم تنفيذه نهائيا.

2- المعامل Or: عند استخدام هذا المعامل لا يشترط تحقق جميع الشروط وإنما يكفي تحقق شرط واحد على الأقل ليتم تنفيذ التعليمات الموجودة داخل الشروط.

3- المعامل Not: ويعني حالة عدم النفي.


ولتوضيح هذه الفكرة نأخذ الأمثلة التالية:

مثال1: برنامج إدخال اسم المستخدم وكلمة السر والتأكد فيما إذا كان اسم المستخدم هو Ali وكلمة السر هي Ali بنفس الوقت.

الخطوات المتبعة لتصميم البرنامج:
1-  نفتح مشروع جديد و نضع علية أداتي Label وأداة TextBox وزر واحد للتحقق من صحة اسم المستخدم

وكلمة السر ونجعل الخصائص للأدوات كما يلي:



اسم الأداة
اسم الخاصية
القيمة
Label1
Text
اسم المستخدم
Label2
Text
كلمة السر
TextBox1
TextAlign
Center
TextBox2
TextAlign
Center
TextBox2
UseSystemPasswordChar
True
Button1
Text
دخول



خاصية  UseSystemPasswordChar تستخدم لجعل كلمة المرور مشفرة كما تظهر في الصورة السابقة.

2- نضغط مرتين على زر دخول لكتابة كود التحقق من اسم المستخدم وكلمة السر.

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        If (TextBox1.Text.ToLower =("Ali"And TextBox2.Text = "Ali") Then

       , "معلومات صحيحة", "اسم المستخدم وكلمة السر صحيحين" ) MessageBox.Show
 (MessageBoxButtons.OK, MessageBoxIcon.Information
        Else
         (" معلومات خاطئة","اسم المستخدم وكلمة السر غير صحيحين"  )  MessageBox.Show
MessageBoxButtons.OK, MessageBoxIcon.Error
 (
        End If
    End Sub



نلاحظ في الشرط If استخدام المعامل And للتحقق من اسم المستخدم وكلمة السر في وقت واحد, ولتنفيذ هذا الشرط يجب أن يتحقق الشرطين معا أي يجب أن يكون اسم المستخدم هو Ali وكلمة السر هي Ali ليتم تنفيذ الرسالة الأولى, أما في حالة كون أحدهما خاطئ سيتم الأنتقال إلى Else وتنفذ الرسالة الموجودة داخلها.

تم استخدام الدالة Tolower() عند التعامل مع Text.Tolower().TextBox1 وذلك لتحويل جميع الأحرف الموجودة داخل هذه الأداة إلى أحرف صغيرة أي أنه إذا تمت كتابة اسم المستخدم بأحرف صغيرة أو كبيرة ففي كلتا الحالتين سيتم تحويله إلى أحرف صغيرة باستخدام هذه الدالة ومقارنته بكلمة Ali أما في حالة كلمة السر فلا داعي لاستخدام هذه الدالة لأن كلمة السر يجب أن تكتب كما هي.

تعلمنا سابقا كيفية التعامل مع رسائل MessageBox وكيفية إظهار الرسالة أما في مثالنا هذا تم اضافة معلومات أخرى للرسالة كنص الرسالة وعنوان الرسالة وأيقونة الرسالة.

("اسم المستخدم وكلمة السر صحيحين", " معلومات صحيحة") MessageBox.Show 
MessageBoxButtons.OK, MessageBoxIcon.Information





مثال2: اكتب برنامج يقوم بحساب قيمة الفاتورة الكلية لاستهلاك الكهرباء لدى العملاء علما أن طريقة الدفع ستكون كالآتي:

1- إذا كانت كمية الاستهلاك تساوي 250 كيلو وات وما دون فإن التكلفة ستكون 0.5 درهم لكل كيلو وات. (إظهار النتيجة باللون الأزرق).

2- وإذا كانت كمية الاستهلاك 251 كيلو وات وما فوق فإن التكلفة ستكون 0.75 درهم لكل كيلو وات. (إظهار النتيجة باللون الأخضر).

ملاحظة: إذا كانت القيمة أصغر أو تساوي الصفر تظهر كلمة Error باللون الأحمر.

خطوات تصميم البرنامج:

1-  نفتح مشروع جديد و نضع علية أداتي Label وأداة TextBox وزر ونجعل الخصائص للأدوات كما يلي:



اسم الأداة
اسم الخاصية
القيمة
Form1
Text
فاتورة الكهرباء
Label1
Text
كمية الاستهلاك
Label2
Text

Label2
Font
Size=16
Label2
BorderStyle
Fixed3D
TextBox1
TextAlign
Center
Button1
Text
إظهار القيمة





2- بعد تصميم الفورم نضغط مرتين على زر إظهار القيمة لكتابة الكود الخاص به كما يلي:

   Private Sub Button1_Click (ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        If Val (TextBox1.Text) <= 250 And Val(TextBox1.Text) > 0 Then
            Label2.ForeColor = Color.Blue
             Label2.Text = Val(TextBox1.Text 0.5*(
        ElseIf Val (TextBox1.Text) >= 251 Then
            Label2.ForeColor = Color.Green
           TextBox1.TextLabel2.Text = Val
        Else
            abel2.ForeColor = Color.Red
           " Label2.Text = "Error
        End If
    End Sub


















مثال الجمل الشرطية Select Case


تستخدم هذه الجملة بدلا عن الشرط If وتعني اختيار حالة من عدة حالات.

مثال1: برنامج إدخال درجات الطالب باستخدام Select Case

خطوات تصميم البرنامج:
1-  نفتح مشروع جديد و نضع علية أداتي Label وأداة TextBox وزر لإظهار النتيجة  ونجعل الخصائص للأدوات كما يلي:


اسم الأداة
الخاصية
القيمة
Form1
Text
درجات الطلاب
Label1
Text
أدخل الدرجة هنا
Text1
TextAlign
Center
Button1
Text
إظهار النتيجة

2- بعد تصميم الفورم نضغط مرتين على زر إظهار النتيجة لكتابة الكود الخاص به كما يلي:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Select Case Val(TextBox1.Text)
            Case Is < 50
               ("راسب") MessageBox.Show
            Case Is >= 50
              ("ناجح")  MessageBox.Show
            Case Else
               ("خطأ في إدخال العلامة") MessageBox.Show
        End Select
    End Sub

المتغير
المعنى
Select Case Val (TextBox1.Text)
تعني اختيار حالة القيمة الموجودة داخل TextBox1.Text
Case Is < 50
تعني إذا كانت القيمة أصغر تماما من 50 سيتم اختيار هذه الحالة.
Case Is > 50
تعني إذا كانت القيمة أكبر أو تساوي 50 سيتم اختيار هذه الحالة.
Case Else
سيتم تنفيذها فقط في حالة عدم اختيار أي حالة سابقة.