If Statement
البنية التحكمية If…Else في لغة فيجوال بيسك – Visual Basic، أو بنية التحكمية If…Else هي من أهم البنى التحكمية في لغة البرمجة فيجوال بيسك. تُستخدم هذه البنية لاتخاذ قرارات معينة في البرنامج بناءً على شرط معين. بمعنى آخر، يمكننا استخدامها لتحديد التصرف الذي يجب اتخاذه إذا كان الشرط محققًا أو غير محقق.
البنية التحكمية If…Else في لغة فيجوال بيسك
الصياغة الصحيحة لبنية التحكمية If…Else في فيجوال بيسك تتبع قواعد معينة لضمان عمل البنية بشكل صحيح، إليك الصياغة الصحيحة لبنية التحكمية If…Else:
If الشرط Then
' الأوامر التي ستُنفذ إذا كان الشرط محققًا
Else
' الأوامر التي ستُنفذ إذا كان الشرط غير محققًا
End If
بموجب هذه الصياغة، يتم فحص الشرط أولاً، وإذا كان صحيحًا (True)، يتم تنفيذ الأوامر التي تلي الشرط بنفس المستوى التعليمي (تسمى هذه الأوامر “الأوامر التابعة للـ If”). وإذا كان الشرط غير محقق (False)، يتم تجاوز الأوامر التابعة للـ If
ويتم تنفيذ الأوامر التابعة للـ Else، وكمثال عملي، لنفترض أن لدينا متغير يُسمى “العمر” ونريد اختبار إذا ما كان الشخص
بالغًا أم لا، يمكننا استخدام بنية التحكمية If…Else كما يلي:
Sub IfElseExample()
Dim age As Integer
age = 18
If age >= 18 Then
MsgBox "أنت بالغ، يمكنك الدخول!"
Else
MsgBox "أنت قاصر، الدخول ممنوع!"
End If
End Sub
في هذا المثال، قمنا بتعيين قيمة 18 للمتغير age واختبرنا إذا ما كان العمر يساوي أو يزيد عن 18. إذا كان العمر أكبر من
أو يساوي 18، سيظهر مربع حواري يخبر المستخدم أنه يمكنه الدخول لأنه بالغ. وإذا كان العمر أقل من 18، سيظهر
مربع حواري آخر يخبر المستخدم أن الدخول ممنوع لأنه قاصر.
استخدام بنية التحكمية If…Else لاتخاذ القرارات في البرمجة:
استخدام البنية التحكمية If…Else في لغة فيجوال بيسك – Visual Basic لاتخاذ القرارات هو جزء أساسي من البرمجة، حيث تُستخدم هذه البنية لتحديد التصرف الذي يجب اتخاذه في البرنامج بناءً على قيمة محددة أو شرط معين. إليك بعض الأمثلة حول كيفية استخدام
بنية التحكمية If…Else لاتخاذ القرارات في البرمجة:
قرارات على أساس قيم متغيرات:
يُمكن استخدام بنية If…Else لاتخاذ قرارات بناءً على قيمة متغير محدد،
على سبيل المثال، إذا كان لدينا متغير يحمل قيمة المستوى التعليمي لطالب، يمكننا استخدام بنية If…Else للتحقق مما
إذا كان الطالب ينتمي إلى المستوى الابتدائي أو المتوسط أو الثانوي.
قرارات على أساس الإدخال المستخدم:
يُمكن استخدام بنية If…Else لتحديد التصرف المناسب بناءً على ما يُدخله المستخدم. على سبيل المثال، إذا كان لدينا برنامج يطلب من المستخدم إدخال عمره، يمكن استخدام بنية If…Else للتحقق من مدى صحة الإدخال وتنفيذ إجراء معين بناءً على العمر المُدخل.
قرارات مركبة:
يُمكن استخدام بنية If…Else في تركيب متعدد من القرارات. في حالة عدم كفاية قرار واحد لاتخاذ التصرف المناسب
ب، يمكننا استخدام قرارات مركبة باستخدام بنية If…ElseIf…Else
لتحقيق نتائج أكثر تعقيدًا.
- قرارات على أساس متغيرات بوليانية: تعتبر المتغيرات البوليانية (Boolean) أحد الأدوات الهامة في البرمجة لتمثيل القيم المنطقية True أو False. يُمكن استخدام بنية If…Else لاتخاذ قرارات بناءً على قيمة المتغير البولياني، فعلى سبيل المثال، يمكننا استخدام بنية If…Else للتحقق مما إذا كان المستخدم مسجل الدخول أو لا عبر الفحص على قيمة متغير بولياني مثل IsLoggedIn.
الاستفادة من البنية التحكمية If…Else في لغة فيجوال بيسك – Visual Basic لاتخاذ القرارات تجعل البرنامج أكثر مرونة
وقدرة على التفاعل مع المستخدمين. يُمكن استخدامها لتنفيذ أي عدد من القرارات، وتحسين أداء البرنامج وتنظيم الكود بشكل أفضل. بغض النظر عن نوع البرنامج الذي تقوم بتطويره، ستكون بنية التحكمية If…Else أداة هامة لاتخاذ القرارات وتحقيق السيطرة على سير البرنامج بشكل أكثر فاعلية.
الاختلاف بين بنية If…Else وبنية If…ElseIf في فيجوال بيسك:
البنية التحكمية If…Else والبنية التحكمية If…ElseIf هما كلاهما يُستخدمان في لغة فيجوال بيسك لاتخاذ قرارات معينة
بناءً على شروط محددة، ولكن لهما اختلافات في طريقة التحكم وتنفيذ الشروط.
البنية التحكمية If…Else:
- تُستخدم عندما تكون هناك قرارين فقط: شرط محقق (True) وشرط غير محقق (False).
- إذا كان الشرط الذي يأتي بعد كلمة “If” محققًا (True)، يتم تنفيذ الأوامر التابعة للـ If.
- إذا كان الشرط غير محقق (False)، يتم تجاوز الأوامر التابعة للـ If ويتم تنفيذ الأوامر التابعة للـ Else.
- يمكن استخدام بنية If…Else للتحقق من شرط واحد فقط.
البنية التحكمية If…ElseIf:
- تُستخدم عندما يكون هناك أكثر من شرط يجب التحقق منها.
- تُستخدم لاختبار شروط متعددة بالتسلسل حتى يتم العثور على أول شرط محقق (True).
- إذا كان أي من شروط ElseIf محققًا (True)، يتم تجاوز الشروط الأخرى وتنفيذ الأوامر التابعة للشرط المحقق.
- إذا كانت جميع الشروط غير محققة، يمكن استخدام الـ Else لتنفيذ أوامر افتراضية.
لنلقي نظرة على مثال بسيط لفهم الاختلاف بين البنيتين:
Dim score As Integer
score = 85
If score >= 90 Then
MsgBox "تهانينا! لقد حصلت على تقدير ممتاز."
ElseIf score >= 80 Then
MsgBox "عمل رائع! لقد حصلت على تقدير جيد جدًا."
ElseIf score >= 70 Then
MsgBox "أحسنت! لقد حصلت على تقدير جيد."
Else
MsgBox "أحسنت! ولكن يمكنك تحسين أدائك."
End If
في هذا المثال، قمنا باستخدام بنية If…ElseIf لتقييم درجة الطالب. إذا كانت الدرجة تساوي أو تفوق 90، سيظهر
مربع حواري يُخبر المستخدم أنه حصل على تقدير ممتاز. إذا كانت الدرجة تفوق 80 وأقل من 90، سيظهر مربع حواري
آخر يُخبره بأنه حصل على تقدير جيد جدًا. وهكذا، يتم اختبار الشروط بالتسلسل حتى يتم العثور على الشرط المحقق أولاً.
باستخدام الكلمات المفتاحية التالية: syntax وstatements وevaluate، يمكننا فهم واستخدام بنية التحكمية If…Else
وبنية If…ElseIf بشكل صحيح في فيجوال بيسك لتحقيق تنفيذ شروط وتحديد التصرف المناسب في برامجنا بناءً على
القيم والمتغيرات المعطاة.
فقط، استخدم هذه المفاهيم الأساسية البنية التحكمية If…Else في لغة فيجوال بيسك – Visual Basic لتحسين قدراتك في البرمجة وكتابة برامج أكثر تعقيدًا وفاعلية، فقط استخدم التعليقات والأمثلة المناسبة لفهم الشروط بشكل أفضل وتحديد السيناريوهات المناسبة لكتابة شروطك.