موسوعة الإلكترونيات الحرة وتعليم البرمجيات.

مواضيع جديدة

الأربعاء، 6 مارس 2019

الجملة الشرطية 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





ليست هناك تعليقات:

إرسال تعليق

???????