البنى الشرطية Decision Structures
تستخدم البنى الشرطية لتحديد فيما اذا كانت مجموعة من التعليمات ستنفذ أم لا . وذلك حسب قيمة تعبير معين . وهناك عدة اشكال من البنى الشرطية وهي :
1- If ……Then
2- If …… Then ……Else
3- If ……Then ……ElseIf ……Else
4- Select Case
5- IIf (expr,truepart,falsepart )
1- If……then ((أذا ..... فأن ))
تستخدم هذه البنية لتنفيذ تعليمة او مجموعة تعليمات وفق شرط معين .
يمكن كتابة هذه البنية الشرطية على سطر واحد .
If condition Then Statement *
حيث ان statement هي تعليمه .
Statement3 2 : Statement 1 : Statement If condition Then *
أو نكتب العبارة الشرطية على اكثر من سطر وفي هذه الحالة يجب اضافة End If
*If condition Then
Statement
End If
*If condition Then
Statement1
2 Statement
End If
حيث ان الشرط (( Condition)) عادة ً عباره عن تعبير منطقي (مقارنة ً مثلاً) يرجع قيمة أما صح (True) أو خطأ (False) . ويمكن أيضا ان يكون الشرط أي تعبير رقمي حيث ان VB سيعتبر ان الشرط محقق ((True )) اذا كانت نتيجة التعبير قيمة لا تساوي الصفر وإلا فإنه سيعتبر الشرط غير محقق ((False )) .
اكتب برنامج لحساب قيمة Y ,Z Ex1 :
Y = 20 *X – X3 When X>0
Z = X + 25 * X2 When X>0
*If X > 0 Then Y=20 *X – X^3 : Z = X+ 25 * X^2
أو
If X >0 Then
Y= 20 * X – X^3
Z=X + 25 * X^2
EndIf
Ex2 : If x>y then
txtout .text =" Good Luck"
End if
في هذا المثال ستظهر عبارة Good luck عندما تكون قيمة X اكبر من قيمة Y
2- If …Then …Else ((إذا ... فإن ... وإلا ))
في هذه الحالة لدينا شرط معين إذا تحقق نريد ان ننفذ تعليمات معينه وإلا ( إي اذا لم يتحقق الشرط ) تنفذ تعليمات أخرى .
*يمكن ان تكتب على سطر واحد
If condition Then Statement Else Statement
أو
Statement3 2 Else Statement 1 : Statement condition Then If
كما يمكن ان تُكتب على عدة اسطر :-
If condition Then
(جملة أو أكثر يتم تنفيذها اذاكان جواب الشرط نعم (True) ) Statements (if true )
Else
(جملة أو أكثر يتم تنفيذها اذاكان جواب الشرط كلا(false )) Statements (if false )
End If
Ex1 : مقارنة بين عددين وطباعة الأكبر بينهما
Private Sub Command1 _ Click
If val ( txta.text ) > Val (txtb.text) Then
Txtg.text = txta.text
Else
Txtg.text= txtb.text
End if
End sub
Ex- :-
اذا علمت ان المعادلات التاليه تتحقق عندما تكون قيمة الثابت A أقل أو تساوي صفراً
W = AZ , Y= Z-2X , Z = AX2 + 5
وأذا كانت قيمة Aموجبه فان
W= 7A, Y= 3X , Z = 2A
الحل :-
Private sub cmd zyw _Click ( )
A = val (txtA.text )
X= val (txtX.text)
If A<= 0 THEN
Z = A*X^2 + 5
W = A*Z
Y= Z-2*X
ELSE
W= 7*A
Y= 3*X
Z = 2*A
END IF
TXTW.TEXT=W
TXTY.TEXT=Y
TXTZ.TEXT=Z
END SUB
المادة المعروضة اعلاه هي مدخل الى المحاضرة المرفوعة بواسطة استاذ(ة) المادة . وقد تبدو لك غير متكاملة . حيث يضع استاذ المادة في بعض الاحيان فقط الجزء الاول من المحاضرة من اجل الاطلاع على ما ستقوم بتحميله لاحقا . في نظام التعليم الالكتروني نوفر هذه الخدمة لكي نبقيك على اطلاع حول محتوى الملف الذي ستقوم بتحميله .