recent
أخبار ساخنة

الجملة الشرطية If – Then Conditional Sentence

العلم للجميع
الصفحة الرئيسية

شرح الجملة الشرطية If  Then 

يعتبر الأمر البرمجي If – Then من أهم الأوامر التي تبنى عليها معظم برامج الحاسوب بشكل عام، وفي برنامج الفيجوال بيسيك Visual Basic. فعلى الرغم من بساطتها وسهولة كتابتها فهي لا تخلو من وجودها في العديد من البرامج المتطورة وحتى المعقدة منها.

الصيغة العامة للجملة الشرطية If – Then

يكتب الشكل العام لأمر البرمجي If - Then على النحو التالي:
If الشرط الأساسي أو المعادلة  = قيمة  Then
إذا تحقق الشرط الأساسي الذي في الأعلى، قم بتنفيذ الأمر الموجود هنا
Else
إذا لم يتحقق الشرط الأساسي الذي في الأعلى، قم بتنفيذ الأمر الموجود هنا
End If

أمثلة متعددة على الجملة الشرطية If في برنامج الفيجوال بيسيك

المثال الأول: قم بكتابة برنامج في لغة فيجوال بيسيك يقوم بطباعة تقييم علامة الطالب المدخلة في مربع الادخال Text1، وإظهار التقييم في Label1 على النحو التالي؛ علامة النجاح هي 50 علامة، تقييم النجاح الذي سيظهر في Label1 Passed أما الرسوب فهو Failed.

1
عرف متغيرا باسم X من النوع "عدد حقيقي"
Dim X As Double
2
قم بنقل القيم المدخلة في Text1 وتخزينها في المتغير X 
X = Val (Text1.Text)
3
هنا يقع الشرط الأساسي (هل القيمة المدخلة أكبر من أو تساوي العدد 50)
If X >= 50 Then
4
إذا تحقق الشرط أعلاه، أظهر العبارة Passed داخل Label1
Label1.Caption = "Passed"
5
غير ذلك (أي أن علامة الطالب المدخلة أقل من 50)
Else
6
قم بإظهار العبارة Failed في Label1
Label1.Caption = "Failed"
7
أمر يشير الى انتهاء الجملة الشرطية (انتهاء دور IF)
End If

الأمر البرمجي Mod في فيجوال بيسيك

يمثل الأمر mod باقي قسمة عدد على آخر وتكون صيغته العامة على النحو التالي:
Z = X mod Y
أي أن باقي قسمة العدد X على العدد Y سيتم تخزينها في المتغير Z.
المثال التالي يوضح فكرة تخزين وطباعة باقي قسمة العدد 3 على العدد 2 في المتغير الصحيح Z
1
عرف المتغير Z كعدد صحيح
Dim Z As Integer
2
قم بتخزين باقي قسمة الغدد 3 على العدد 2 في المتغير Z
Z = 3 Mod 2
3
اطبع قيمة المتغير Z (والتي ستكون 1 في هذه الحالة)
Print Z

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

المثال الثاني: في هذا المثال سنتطرق الى استخدام الأمر البرمجي Mod وكتابة كودا برمجيا بلغة فيجوال بيسيك Visual Basic يقوم بتصنيف العدد المدخل في Text1 الى فردي أو زوجي عن طريق طباعة العبارة Even (زوجي) أو Odd (فردي) في Label1 بعد الضغط على الزر Command1.


1
عرف متغيرا باسم X من النوع "عدد حقيقي"
Dim X As Double
2
قم بنقل القيم المدخلة في Text1 وتخزينها في المتغير X 
X = Val (Text1.Text)
3
هنا يقع الشرط الأساسي (هل القيمة المدخلة أكبر من أو تساوي العدد 50)
If X >= 50 Then
4
إذا تحقق الشرط أعلاه، أظهر العبارة Passed داخل Label1
Label1.Caption = "Passed"
5
غير ذلك (أي أن علامة الطالب المدخلة أقل من 50)
Else
6
قم بإظهار العبارة Failed في Label1
Label1.Caption = "Failed"
7
أمر يشير الى انتهاء الجملة الشرطية (انتهاء دور IF)
End If

نلاحظ أن المتغير X تم تعريفه على أنه عدد صحيح وذلك لأن الأعداد الزوجية والفردية هي فقط أعداد صحيحة ولا تحوي أعشارا أو كسورا في بيئتها.

المثال الثالث: مثال فيه العديد من الأوامر If - Then

في هذا المثال سنتوسع أكثر ونضيف عددا أكبر من الأوامر البرمجية IF – Then، وكتابة أوامر برمجية توصف علامة الطالب المدخلة في Text1 وإظهار تقديرها داخل Label1  كما في الجدول التالي:
علامة الطالب
التقدير
من 0 الى 49
راسب Fail
من 50 الى 64
مقبول Fair
من 65 الى 74
جيد Good
من 75 الى 84
جيد جدا Very Good
من 85 الى 99
ممتاز Excellent
أكبر من 100 أو أقل من 0
علامة خاطئة Invalid

حل المثال الثالث:
1
عرف متغيرا باسم x من النوع "عدد حقيقي"
Dim x As Double
2
نقل القيمة من Text1 وتخزينها في المتغير x
x = Val(Text1.Text)
3
هل قيمة x أكبر من أو تساوي 0 وأقل من 49
If x >= 0 And x < 49 Then
4
إذا كان الجواب نعم فاطبع العبارة Fail في الـ Label1
Label1.Caption = "Fail"
5
غير ذلك، أي ان لم يتحقق الشرط رقم 3 انتقل الى الخطوة التالية
Else
6
هل قيمة x أكبر من أو تساوي 50 وأقل من 65
If x >= 50 And x < 65 Then
7
إذا كان الجواب نعم فاطبع العبارة Fair في الـ Label1
Label1.Caption = "Fair"
8
غير ذلك، أي ان لم يتحقق الشرط رقم 6 انتقل الى الخطوة التالية
Else
9
هل قيمة x أكبر من أو تساوي 65 وأقل من 75
If x >= 65 And x < 75 Then
10
إذا كان الجواب نعم فاطبع العبارة Good في الـ Label1
Label1.Caption = "Good"
11
غير ذلك، أي ان لم يتحقق الشرط رقم 9 انتقل الى الخطوة التالية
Else
12
هل قيمة x أكبر من أو تساوي 75 وأقل من 85
If x >= 75 And x < 85 Then
13
إذا كان الجواب نعم فاطبع العبارة Very Good في الـ Label1
Label1.Caption = "Very Good"
14
غير ذلك، أي إن لم يتحقق الشرط رقم 12 انتقل الى الخطوة التالية
Else
15
هل قيمة x أكبر من أو تساوي 85 وأقل من 100
If x >= 85 And x < 100 Then
16
إذا كان الجواب نعم فاطبع العبارة Excellent في الـ Label1
Label1.Caption = "Excellent"
17
غير ذلك، أي ان لم يتحقق أي شرط من السابق، فانتقل الى الخطوة التالية
Else
18
فاطبع العبارة Invalid في الـ Label1 (أي في حال كانت القيمة المدخلة أكبر أو تساوي 100 أو أقل من 0)
Label1.Caption = "Invalid"
19
أمر يشير الى انتهاء حدود الجملة الشرطية  15
End If
20
أمر يشير الى انتهاء حدود الجملة الشرطية  12
End If
21
أمر يشير الى انتهاء حدود الجملة الشرطية  9
End If
22
أمر يشير الى انتهاء حدود الجملة الشرطية  6
End If
23
أمر يشير الى انتهاء حدود الجملة الشرطية  3
End If

والشكل التالي يوضح تقدير علامة طالب حصل على العلامة 72 وظهور تقديره في Label1





author-img
العلم للجميع

تعليقات

12 تعليقًا
إرسال تعليق
  • jude mahajneh photo
    jude mahajneh14 مارس 2020 في 5:08 ص

    المتغير x يمكن أن تكون قيمته 5 أو 4 لو بدي اكتب جملة شرطية كيف ؟

    حذف التعليق
  • Unknown photo
    Unknown2 مايو 2020 في 1:42 م

    شكراً شرح جداممتاز فقط تكرما إذا كنت أريد الشرط يكون مساواه بين متغيرين ويكون جواب الشرط هو أن الناتج يساوي واحد مثل إذا كان TextBox1. Text =TextBox2. Text إذن Labal =1 فكيف تكون جملة If

    حذف التعليق
    • العلم للجميع photo
      العلم للجميع2 مايو 2020 في 5:41 م

      بسيطة، هذا الكود البرمجي هو ما يحقق طلبك أخي الكريم
      Dim x As Double
      Dim y As Double

      x = Val(Text1.Text)
      y = Val(Text2.Text)

      If y = x Then
      Label1.Caption = 1
      Else
      End If

      حذف التعليق
      • Unknown photo
        Unknown5 مايو 2020 في 11:33 ص

        أين يتم إدخالها تحديد على Formأوعلى Labal وماهي التعديلات التي تجرى على نافذة البرمجه إذا كان يتم إدخالها علىForm

        حذف التعليق
        • Unknown photo
          Unknown5 مايو 2020 في 1:18 م

          ماإسم الحدث الذي سيؤثر عليه

          حذف التعليق
          • العلم للجميع photo
            العلم للجميع6 مايو 2020 في 12:43 م

            هل شرحت بالتفصيل أكثر لكي أستطيع مساعدتك

            حذف التعليق
          • Hiba awad photo
            Hiba awad21 يوليو 2020 في 8:43 ص

            لماذا لا استطيع ان اعمل نسخ للكلام في الاعلى ؟

            حذف التعليق
            • العلم للجميع photo
              العلم للجميع31 يوليو 2020 في 9:27 ص

              شكراً جزيلا لاهتمامكم في موقعنا، نعتذر عن امكانية النسخ بسب سياسة خصوصية الموقع.
              كل المحبة والاحترام.

              حذف التعليق
            • Unknown photo
              Unknown30 أكتوبر 2020 في 10:56 ص

              ممكن كود باستخدام if\then بحيث لما اضغط على button بفورم1 ينتقل لفورم2
              شكراا لجهودكم

              حذف التعليق
              • العلم للجميع photo
                العلم للجميع9 نوفمبر 2020 في 2:10 م

                في العادة لا يتم برمجة مثل هذا الحدث في بيئة الجملة الشرطية if-then، بل يتم برمجتها في الـ Event التابعة للزر Button، فكل ما عليك فعله هو أن تنشئ زر الـ Button1 في Form1 ووضع الكود التالي بداخله:
                Form1.Hide
                Form2.Show
                أو
                me.hide
                Form2.show

                حذف التعليق
              • "مهووسة النجاح " photo
                "مهووسة النجاح "15 نوفمبر 2020 في 11:36 م

                السلام عليكم ممكن تشرح الفرق بين جمل الشرطية للغة الفيجوال بيسك

                حذف التعليق
                google-playkhamsatmostaqltradent