‫التفرع‬
Branching
‫بنها‬‫ية‬‫تدريس‬‫الفصل‬ ‫هذا‬‫الطالب‬ ‫يستطيع‬:‫أن‬
‫يستخدم‬‫جملة‬If…Then.
‫جملة‬ ‫يستخدم‬If…Then…Else.
‫جملة‬ ‫يستخدم‬If…Then…ElseIf.
‫جملة‬ ‫يستخدم‬Select …Case.
(43)
‫الفصل‬‫الثاني‬‫التفرع‬
Branching
‫مقــدمة‬
‫درست‬‫في‬‫التدفق‬ ‫ائط‬‫ر‬‫خ‬(FlowChart)‫ت‬ ‫اختيار‬‫و‬ ‫ع‬‫التفر‬ ‫الى‬ ‫نحتاج‬ ‫ما‬ ‫ا‬‫ر‬‫كثي‬ ‫أننا‬‫مجموعة‬ ‫نفيذ‬
‫ى‬‫أخر‬ ‫أو‬ ‫ات‬‫و‬‫خط‬‫بناء‬‫معين‬ ‫ال‬‫ؤ‬‫س‬ ‫على‬‫الكود‬ ‫كتابة‬ ‫أن‬ ‫تجد‬ ‫وسوف‬(Code)‫ع‬‫بالتفر‬ ‫الخاص‬‫ماهي‬
‫الحل‬ ‫ات‬‫و‬‫خط‬ ‫إال‬(Algorithm)‫وللتعبير‬ ‫صياغتها‬ ‫يقة‬‫ر‬‫وط‬ ‫المستخدمة‬ ‫اللغة‬ ‫امر‬‫و‬‫بأ‬ ‫ام‬‫ز‬‫االلت‬ ‫مع‬ ‫ولكن‬
:‫التالية‬ ‫يبات‬‫ر‬‫التد‬ ‫خالل‬ ‫من‬ ‫تتضح‬ ‫البرمجة‬ ‫لغة‬ ‫في‬ ‫معينة‬ ‫جمل‬ ‫نستخدم‬ ‫برمجيا‬ ‫ع‬‫التفر‬ ‫عن‬
2-1‫باستخدام‬ ‫التفرع‬‫جملة‬If…Then:
‫يكت‬ ‫ما‬‫ب‬‫بعد‬(If)‫الشرط‬ ‫هو‬‫أ‬‫التعبير‬ ‫و‬‫الشرطي‬(Conditional Expression)‫حالة‬ ‫وفى‬
‫اب‬‫و‬‫ص‬ ‫ناتجه‬ ‫يكون‬ ‫ما‬(True)‫تنفيذ‬ ‫يتم‬‫امر‬‫و‬‫األ‬‫التي‬‫تلى‬(Then)‫حتي‬‫الوصول‬‫إ‬‫لى‬(End If)‫وفى‬
‫امر‬‫و‬‫األ‬ ‫تنفيذ‬ ‫يتم‬ ‫خطأ‬ ‫ناتجه‬ ‫حالة‬‫التي‬‫تلى‬(End If)‫بشكل‬ ‫موضح‬ ‫هو‬ ‫كما‬(2-1).
If X >= 50 Then
Msgbox("‫ناجح‬")
End if
( ‫شكل‬2-1‫جملة‬ ‫على‬ ‫مبسط‬ ‫مثال‬ )If..Then
2-1-1‫الشرطية‬ ‫ات‬‫ر‬‫التعبي‬Conditional Expressions:
‫التعبير‬‫الشرطي‬‫كود‬ ‫من‬ ‫ء‬‫جز‬ ‫هو‬(Code)‫اب‬‫و‬‫ص‬ ‫إما‬ ‫ناتجه‬ ‫يكون‬ ‫البرمجة‬(True)‫أو‬‫خطأ‬
(False)‫وذلك‬‫بناء‬‫خاصية‬ ‫قيمة‬ ‫على‬(Property)‫متغير‬ ‫أو‬(Variable).‫نامج‬‫ر‬‫بالب‬ ‫آخر‬ ‫بيان‬ ‫أو‬
‫الصيغة‬‫العام‬‫ة‬:‫الجملة‬ ‫لهذه‬
If conditional Expression (‫شرطي‬ ‫تعبير‬) Then
code
End if
X>=50 Msgbox " ‫"ناجح‬
End
(43)
‫الفصل‬‫الثاني‬‫التفرع‬
Branching
‫التعبير‬ ‫مثال‬‫الشرطي‬(Degree>=50)‫اب‬‫و‬‫ص‬ ‫ناتجه‬(True)‫المتغير‬ ‫قيمة‬ ‫كانت‬ ‫اذا‬
(Degree)‫من‬ ‫أكبر‬‫تساوي‬ ‫أو‬05‫خطأ‬ ‫الناتج‬ ‫ويصبح‬(False)‫كانت‬ ‫إذا‬‫المتغير‬ ‫قيمة‬(Degree)
‫من‬ ‫أصغر‬05.
=‫يساوى‬
< >‫يساوى‬ ‫ال‬
>‫من‬ ‫اكبر‬
<‫من‬ ‫اصغر‬
>=‫أو‬ ‫من‬ ‫أكبر‬‫يساوى‬
<=‫يساوى‬ ‫أو‬ ‫من‬ ‫أصغر‬
( ‫جدول‬2-1‫المقارنة‬ ‫معامالت‬ )
100 < > 100FALSE
‫متساويتين‬ ‫القيمتين‬ ‫أن‬ ‫حيث‬
300 < > 100TRUE
‫متساويتين‬ ‫غير‬ ‫القيمتين‬ ‫أن‬ ‫حيث‬
DEGREE=Textbox1.TextTRUE
‫الخاصية‬ ‫قيمة‬ ‫كان‬ ‫اذا‬(Text)‫لألداة‬(Textbox1)
‫المتغير‬ ‫محتوى‬ ‫تساوى‬(DEGREE)‫يكون‬ ‫العكس‬‫و‬
‫الناتج‬(FALSE)
( ‫جدول‬2-2‫المقارنة‬ ‫معامالت‬ ‫على‬ ‫أمثلة‬ )
(43)
‫الفصل‬‫الثاني‬‫التفرع‬
Branching
( ‫يب‬‫ر‬‫تد‬2-1)‫تكون‬ ‫ما‬ ‫حالة‬ ‫وىف‬ ‫الدرجة‬ ‫إلدخال‬ ‫نامج‬‫ر‬‫ب‬ ‫عمل‬ ‫املطلوب‬ :
‫من‬ ‫اكرب‬ ‫الدرجة‬‫أو‬‫تساوى‬05.‫ناجح‬ ‫كلمة‬‫به‬ ‫رسالة‬ ‫صندوق‬ ‫يعطى‬
‫قم‬‫بإنشاء‬‫نموذج‬ ‫على‬ ‫يحتوى‬ ‫ع‬‫مشرو‬(Form)( ‫بشكل‬ ‫موضح‬ ‫هو‬ ‫كما‬2-2):
( ‫شكل‬2-2‫النموذج‬ )Form‫تصميمه‬ ‫المطلوب‬
‫النقر‬ ‫عند‬ ‫المطلوب‬‫و‬‫على‬‫زر‬"‫نتيجة‬"‫رسالة‬ ‫صندوق‬ ‫يعطى‬(MessageBox)‫كلمة‬ ‫به‬‫ناجح‬
‫كانت‬ ‫إذا‬‫من‬ ‫اكبر‬ ‫الدرجة‬‫أ‬‫تساوى‬ ‫و‬05.
‫الكود‬ ‫نكتب‬ ‫سوف‬(Code)‫باالعتماد‬‫التدفق‬ ‫يطة‬‫ر‬‫خ‬ ‫على‬‫كما‬‫مبين‬ ‫هو‬( ‫بجدول‬2-3):
‫التدفق‬ ‫خريطة‬‫الكود‬
‫الكود‬(Code)‫ويكتب‬‫في‬‫الحدث‬ ‫اء‬‫ر‬‫اج‬
(Click)‫األمر‬ ‫بزر‬ ‫الخاص‬(Button):
( ‫جدول‬2-3‫لتدريب‬ ‫الكود‬‫و‬ ‫التدفق‬ ‫خريطة‬ )(2-1)
Start
Enter X
X>=50 Msgbox
"‫ناجح‬"
End
(43)
‫الفصل‬‫الثاني‬‫التفرع‬
Branching
‫الحظ‬:
1-‫جملة‬ ‫استخدام‬ ‫تم‬(IF)‫التي‬‫و‬‫الشرط‬ ‫عن‬ ‫تعبر‬"‫قيمة‬ ‫هل‬(X)‫تساوى‬ ‫أو‬ ‫من‬ ‫أكبر‬05"
2-‫يمكن‬‫كود‬ ‫كتابة‬(Code)‫نامج‬‫ر‬‫الب‬‫باالعتماد‬( ‫الحل‬ ‫ات‬‫و‬‫خط‬ ‫على‬Algorithm:‫التالية‬ )
‫نامج‬‫ر‬‫الب‬ ‫بتشغيل‬ ‫قم‬.
‫أدخل‬‫مثل‬ ‫قيم‬25‫و‬05‫و‬50‫زر‬ ‫على‬ ‫النقر‬‫و‬"‫نتيجة‬"‫في‬‫ة‬‫ر‬‫م‬ ‫كل‬.
‫الحظ‬:
‫الرسالة‬ ‫صندوق‬ ‫ظهور‬ ‫عدم‬(MessageBox)‫عن‬‫د‬‫إ‬‫دخال‬‫أي‬‫قيم‬‫ة‬‫من‬ ‫أقل‬05‫يكون‬ ‫عندما‬ ‫أنه‬ ‫حيث‬
‫الشرط‬ ‫ناتج‬(False)‫بعد‬ ‫ما‬ ‫ينفذ‬(End if)‫وهو‬(End Sub)‫أي‬‫إ‬‫اء‬‫ر‬‫اإلج‬ ‫نهاء‬(Procedure).
‫جملة‬ ‫نفس‬ ‫كتابة‬ ‫يمكن‬(If)‫السابقة‬‫احد‬‫و‬ ‫سطر‬ ‫في‬‫يتم‬ ‫ال‬‫و‬‫وضع‬(End If):‫يلي‬ ‫كما‬
(43)
‫الفصل‬‫الثاني‬‫التفرع‬
Branching
2-2‫باستخدام‬ ‫التفرع‬If…Then..Else:
‫ت‬‫السابقة‬ ‫عن‬ ‫الجملة‬ ‫هذه‬ ‫ختلف‬‫في‬‫كود‬ ‫وجود‬(Code)‫ينفذ‬‫في‬‫ناتج‬ ‫يكون‬ ‫أن‬ ‫حالة‬‫التعبير‬‫الشرطي‬
(False)
( ‫يب‬‫ر‬‫تد‬2-2:)‫الكود‬ ‫تعديل‬(Code)‫السابق‬‫ليعطي‬‫رسالة‬ ‫صندوق‬
(MessageBox)‫اسب‬‫ر‬ ‫كلمة‬‫به‬‫يف‬‫من‬ ‫أقل‬ ‫الدرجة‬ ‫حالة‬05
‫كما‬‫بجدول‬ ‫مبين‬ ‫هو‬(2-4):
‫الكود‬(Code)‫ويكتب‬‫في‬‫الحدث‬ ‫اء‬‫ر‬‫اج‬
(Click)‫األمر‬ ‫بزر‬ ‫الخاص‬(Button):
( ‫جدول‬2-4‫لتدريب‬ ‫الكود‬‫و‬ ‫التدفق‬ ‫خريطة‬ )(2-2)
start
Enter X
X>=50
Msgbox
"‫ناجح‬"
End
Msgbox
"‫راسب‬"
‫الصيغة‬‫العامة‬:‫الجملة‬ ‫لهذه‬
If conditional Expression (‫شرطي‬ ‫تعبير‬) Then
Code
Else
Code
End if
‫حالة‬ ‫في‬ ‫الكود‬True
‫حالة‬ ‫في‬ ‫الكود‬False
(43)
‫الفصل‬‫الثاني‬‫التفرع‬
Branching
‫الحظ‬:
1-‫أنن‬‫ا‬‫استخدمنا‬(Else)‫التي‬‫و‬‫يليها‬ ‫ما‬ ‫تنفيذ‬ ‫تعنى‬‫في‬‫الشرط‬ ‫ناتج‬ ‫حالة‬(False.)
2-‫جملة‬ ‫كتابة‬ ‫يمكن‬(If)‫في‬‫بدون‬ ‫احد‬‫و‬ ‫سطر‬(End if):‫يلي‬ ‫كما‬
‫يب‬‫ر‬‫تد‬(2-3)‫مشروع‬ ‫بتنفيذ‬ ‫قم‬ ‫السابق‬ ‫األسلوب‬ ‫بنفس‬(Project)‫حيتوى‬
‫منوذج‬ ‫على‬(Form)‫قيمة‬ ‫يستقبل‬‫يف‬‫املتغري‬(N)‫نص‬ ‫صندوق‬ ‫خالل‬ ‫من‬
(TextBox)‫اظهار‬ ‫مث‬‫عبارة‬"‫الرقم‬‫زوجي‬"‫أو‬"‫الرقم‬‫فردى‬"
‫كما‬‫بجدول‬ ‫مبين‬ ‫هو‬(2-5):
‫الكود‬(Code)‫ويكتب‬‫في‬‫الحدث‬ ‫اء‬‫ر‬‫اج‬click
‫األمر‬ ‫بزر‬ ‫الخاص‬(Button):
( ‫جدول‬2-5‫لتدريب‬ ‫الكود‬‫و‬ ‫التدفق‬ ‫خريطة‬ )(2-3)
‫أننا‬ ‫يالحظ‬‫نا‬‫ر‬‫اختب‬‫قيمة‬(N)‫كانت‬ ‫إذا‬‫على‬ ‫القسمة‬ ‫تقبل‬2‫بدون‬‫باقي‬‫التعبير‬ ‫خالل‬ ‫من‬‫الشرطي‬
(N Mod 2),‫المعامل‬‫و‬(Mod)‫حسابي‬ ‫معامل‬ ‫هو‬‫يعطى‬‫باقي‬‫يكون‬ ‫ان‬ ‫حالة‬ ‫وفى‬ ‫القسمة‬‫باقي‬
‫القس‬‫م‬‫ة‬‫على‬2‫يساوى‬‫صفر‬‫وجود‬ ‫عدم‬ ‫يعنى‬ ‫فهذا‬‫باقي‬‫قسمة‬‫وبالتالي‬‫يكون‬‫العدد‬‫زوجي‬.
Start
Get N
N
divisible
by 2
‫زوجي‬ ‫الرقم‬ ‫فردى‬ ‫الرقم‬
End
‫جملة‬If‫واحد‬ ‫سطر‬ ‫في‬
(34)
‫الفصل‬‫الثاني‬‫التفرع‬
Branching
2-3‫باستخدام‬ ‫التفرع‬If…Then…ElseIf:
‫أن‬ ‫الحظنا‬‫جملة‬(If…Then…Else)‫ين‬‫ر‬‫اختيا‬ ‫وجود‬ ‫عند‬ ‫تستخدم‬‫أ‬‫حدهما‬‫في‬‫اب‬‫و‬‫الص‬ ‫حالة‬
(True)‫اآلخر‬‫و‬‫في‬‫الخطأ‬ ‫حالة‬(False)‫أم‬‫ا‬(If…Then…Elseif)‫من‬ ‫أكثر‬ ‫وجود‬ ‫عند‬ ‫فتستخدم‬
‫شرطي‬ ‫تعبير‬.
‫تدريب‬2-4‫على‬ ‫حيتوى‬ ‫مشروع‬ ‫بعمل‬ ‫قم‬‫منوذج‬(Form)‫كما‬‫موضح‬ ‫هو‬(‫بشكل‬2-3):
( ‫شكل‬2-3‫النموذج‬ )Form‫بتدريب‬ ‫المطلوب‬(2-4)
‫عند‬ ‫المطلوب‬‫و‬‫إ‬‫النص‬ ‫بع‬‫ر‬‫م‬ ‫خالل‬ ‫من‬ ‫ة‬‫ر‬‫ا‬‫ر‬‫الح‬ ‫درجة‬ ‫دخال‬(Textbox1)‫ث‬‫م‬‫الزر‬ ‫على‬ ‫النقر‬
"‫"اختبار‬‫يعرض‬‫في‬(Label2)‫ة‬‫ر‬‫عبا‬"‫الصفر‬ ‫"فوق‬‫أو‬" ‫ة‬‫ر‬‫عبا‬‫صفر‬ ‫تساوى‬"‫أو‬"‫الصفر‬ ‫"تحت‬ ‫ة‬‫ر‬‫عبا‬
‫التدفق‬ ‫لخريطة‬ ‫وفقا‬(‫بشكل‬2-4):
‫الجملة‬ ‫لهذه‬ ‫العامة‬ ‫الصيغة‬:
If condition Then
code
ElseIf condition Then
code
ElseIf condition Then
code
.
.
Else
code
End If
(34)
‫الفصل‬‫الثاني‬‫التفرع‬
Branching
( ‫شكل‬2-4‫بتدريب‬ ‫الخاصة‬ ‫التدفق‬ ‫خريطة‬ )(2-4)
‫الكود‬ ‫يكتب‬‫في‬‫الحدث‬ ‫اء‬‫ر‬‫إج‬click‫بالزر‬ ‫الخاص‬"‫"اختبار‬‫ك‬‫يلى‬ ‫ما‬:
‫الحظ‬:
‫المتغير‬ ‫عن‬ ‫اإلعالن‬ ‫تم‬(D)‫ع‬‫النو‬ ‫من‬(single)‫الحتمال‬‫قم‬‫ر‬ ‫إدخال‬‫ي‬‫عشر‬.
‫جملة‬ ‫أن‬(If)‫بدأت‬‫بالتعبير‬‫الشرطي‬(Degree=0)
‫يساوى‬ ‫ناتجه‬ ‫حالة‬ ‫وفى‬(False)‫ي‬‫تعبير‬ ‫اختبار‬ ‫تم‬‫شرطي‬‫وهو‬ ‫آخر‬(Degree<0)
‫يساوى‬ ‫ناتجه‬ ‫حالة‬ ‫وفى‬(False)‫ي‬‫بق‬‫ي‬‫احتمال‬‫أ‬‫أن‬ ‫وهو‬ ‫خير‬(Degree>0)‫احة‬‫ر‬‫ص‬ ‫يكتب‬ ‫لم‬ ‫لذلك‬
‫إ‬‫ـ‬‫ب‬ ‫عنه‬ ‫التعبير‬ ‫تم‬ ‫نما‬(Else)‫ألنه‬‫هو‬‫االحتمال‬‫الوحيد‬‫الباقي‬.
start
Get D
D =0
Output
"‫صفر‬"
end
D<0
=0
Output
"‫الصفر‬ ‫تحت‬"
Output
"‫الصفر‬ ‫فوق‬"
(34)
‫الفصل‬‫الثاني‬‫التفرع‬
Branching
‫على‬ ‫بالضغط‬ ‫نامج‬‫ر‬‫الب‬ ‫بتشغيل‬ ‫قم‬(F5)‫لعمل‬(Start debugging)
‫ادخل‬‫قام‬‫ر‬‫أ‬‫مثل‬05‫و‬5‫و‬-15‫ة‬‫ر‬‫م‬ ‫كل‬ ‫الزر‬ ‫على‬ ‫النقر‬ ‫مع‬
‫النص‬ ‫بع‬‫ر‬‫م‬ ‫بقاء‬ ‫مع‬ ‫الزر‬ ‫انقر‬(TextBox)‫خاليا‬‫محتوي‬ ‫أو‬‫نص‬ ‫على‬ ‫ا‬‫تالحظ‬ ‫ماذا‬‫؟‬
‫نالحظ‬ ‫سوف‬‫نامج‬‫ر‬‫الب‬ ‫توقف‬‫و‬‫ع‬‫النو‬ ‫من‬ ‫خطأ‬ ‫ظهور‬(Runtime)‫كما‬‫موضح‬ ‫هو‬(‫بشكل‬2-5):
( ‫شكل‬2-5‫التشغيل‬ ‫أثناء‬ ‫الخطأ‬ ‫شكل‬ )(Runtime)
‫يتضح‬‫الشكل‬ ‫من‬(2-5):‫اآلتي‬
1-‫السطر‬ ‫عند‬ ‫حدث‬ ‫الخطأ‬ ‫أن‬(Degree = Me.Textbox1.Text)
2-‫أن‬ ‫هو‬ ‫الخطأ‬ ‫سبب‬ ‫أن‬‫النص‬ ‫صندوق‬(TextBox)‫تحويله‬ ‫يتم‬ ‫لكى‬ ‫قم‬‫ر‬ ‫على‬ ‫يحتوى‬ ‫ال‬‫ضمنيا‬
‫ع‬‫النو‬ ‫الى‬(Single)‫قبل‬ ‫من‬ ‫حدث‬ ‫كما‬‫المتغير‬ ‫بيانات‬ ‫ع‬‫نو‬ ‫وهو‬(Degree)‫نتيجة‬ ‫مشكلة‬ ‫حدثت‬ ‫نما‬‫ا‬‫و‬
‫ع‬‫النو‬ ‫من‬ ‫التحويل‬ ‫امكانية‬ ‫عدم‬‫في‬‫ر‬‫ح‬‫النص‬ ‫بع‬‫ر‬‫م‬ ‫ترك‬ ‫تم‬ ‫(حيث‬(TextBox))‫قيم‬ ‫بدون‬ ‫خاليا‬‫الى‬
‫ع‬‫النو‬(Single).
‫يمكن‬‫الخطأ‬ ‫هذا‬ ‫حدوث‬ ‫منع‬:‫منها‬ ‫طريقة‬ ‫من‬ ‫بأكثر‬
:‫األولي‬ ‫الطريقة‬‫للمستخدم‬ ‫رسالة‬ ‫إعطاء‬‫طريق‬ ‫عن‬‫جملة‬ ‫استخدام‬(If):‫يلى‬ ‫كما‬ ‫إضافية‬
‫الخطأ‬ ‫حدوث‬ ‫سطر‬ ‫الى‬ ‫حرفي‬ ‫من‬ ‫تحويل‬ ‫خطأ‬single
( ‫الكود‬Code)
‫في‬ ‫ينفذ‬ ‫األصلي‬
‫قيم‬ ‫إدخال‬ ‫حالة‬
.‫عددية‬
( ‫الكود‬Code‫)في‬
‫قيم‬ ‫إدخال‬ ‫حالة‬
.‫عددية‬ ‫غير‬
‫جملة‬If‫اإلضافية‬
(34)
‫الفصل‬‫الثاني‬‫التفرع‬
Branching
‫الحظ‬:
‫جملة‬ ‫وجود‬(If)‫اإلضافية‬‫إلختبار‬‫الخاصية‬ ‫قيمة‬(Text)‫النص‬ ‫لصندوق‬(TextBox)‫هل‬‫هي‬
‫قيمة‬‫عددية‬‫الناتج‬ ‫حالة‬ ‫وفى‬(True)‫ي‬‫الكود‬ ‫تنفيذ‬ ‫تم‬(Code)‫المطلوب‬,‫أما‬‫الناتج‬ ‫حالة‬ ‫في‬
(False)‫عددية‬ ‫غير‬ ‫القيمة‬ ‫أن‬ ‫أي‬‫ي‬‫الكود‬ ‫تنفيذ‬ ‫تم‬(Code)‫البديل‬‫يلى‬ ‫الذى‬(Else).
‫التعبير‬ ‫استخدام‬ ‫تم‬‫الشرطي‬(Isnumeric(Textbox1.Text) = 0)‫في‬‫جملة‬(IF)‫اإلضافية‬
‫و‬(Isnumeric)‫ال‬‫و‬‫الد‬ ‫أحد‬ ‫هي‬ ‫هنا‬( ‫فة‬‫ر‬‫المع‬Predefined Functions)‫فة‬‫ر‬‫لمع‬ ‫تستخدم‬ ‫التي‬
‫متغير‬ ‫محتوى‬(Variable)‫نص‬ ‫صندوق‬ ‫محتوى‬ ‫او‬(TextBox)‫هو‬ ‫هل‬‫عددي‬‫أم‬‫في‬‫ر‬‫ح‬.
‫الدالة‬ ‫على‬ ‫أمثلة‬(Isnumeric):‫وناتجها‬
False
‫عددية‬ ‫غير‬ ‫القوسين‬ ‫داخل‬ ‫القيمة‬ ‫أن‬ ‫حيث‬.
MsgBox IsNumeric("youssif")
True
‫عددية‬ ‫القوسين‬ ‫داخل‬ ‫القيمة‬ ‫أن‬ ‫حيث‬.
MsgBox(IsNumeric(10))
True
‫المتغير‬ ‫قيمة‬ ‫كانت‬ ‫اذا‬(a)‫عددية‬.
MsgBox IsNumeric(a)
True
‫النص‬ ‫صندوق‬ ‫كان‬ ‫اذا‬(TextBox3)‫على‬ ‫يحتوى‬
‫عددية‬ ‫قيمة‬.
MsgBox IsNumeric(textbox3.text)
( ‫جدول‬2-6)‫الدالة‬ ‫على‬ ‫أمثلة‬(IsNumeric)
‫أن‬ ‫نستنتج‬‫الدالة‬(Isnumeric)‫لها‬( ‫وسيطة‬ ‫أو‬ ‫مدخل‬Argument)‫ولها‬ ‫القوسين‬ ‫بين‬‫منطقي‬ ‫ناتج‬
‫يكون‬(True)‫أو‬(False).
.‫ابع‬‫ر‬‫ال‬ ‫بالفصل‬ ‫بالتفصيل‬ ‫ال‬‫و‬‫الد‬ ‫شرح‬ ‫وسيلى‬
(33)
‫الفصل‬‫الثاني‬‫التفرع‬
Branching
:‫الثانية‬ ‫الطريقة‬‫استخدام‬ ‫يمكن‬‫الجملة‬(Try..catch)‫يلى‬ ‫كما‬:
‫الحظ‬:
‫من‬ ‫الهدف‬‫الكود‬(Code)‫المكتوب‬‫عند‬ ‫التالي‬ ‫عمل‬‫الخطأ‬ ‫حدوث‬:
1-‫رسالة‬ ‫صندوق‬ ‫عرض‬(MessageBox)‫يطالب‬‫المستخدم‬‫قيمة‬ ‫من‬ ‫بدال‬ ‫عدد‬ ‫بإدخال‬‫أو‬ ‫فية‬‫ر‬‫ح‬
‫خالية‬ ‫قيمة‬
2-‫األمر‬(Focus)‫وسيلة‬ ‫هو‬(Method)‫خاصة‬‫بصندوق‬‫النص‬(TextBox)‫التركيز‬ ‫نقل‬ ‫وتعنى‬
‫اليه‬‫ووضع‬‫النص‬ ‫صندوق‬ ‫بداخل‬ ‫المؤشر‬(TextBox).
0-‫األخير‬ ‫األمر‬‫خاصية‬ ‫جعل‬ ‫يعنى‬(Text).‫خالية‬ ‫فية‬‫ر‬‫ح‬ ‫سلسة‬ ‫تساوى‬
2-4‫المنطقية‬ ‫المعامالت‬ ‫استخدام‬Logical Operators‫مع‬‫الشرطية‬ ‫الجملة‬If:
‫نحتاج‬ ‫قد‬‫إ‬‫تعبير‬ ‫من‬ ‫أكثر‬ ‫اختبار‬ ‫لى‬‫شرطي‬‫معا‬‫في‬‫جملة‬ ‫نفس‬If‫ات‬‫ر‬‫التعبي‬ ‫بين‬ ‫بط‬‫ر‬‫ن‬ ‫الحالة‬ ‫هذه‬ ‫وفى‬
‫بالمعامل‬ ‫الشرطية‬‫المنطقي‬(And)‫المعامل‬ ‫أو‬‫المنطقي‬(Or).
‫المعامل‬(And)‫ناتج‬ ‫يعطى‬‫نهائي‬(True)‫الشروط‬ ‫كافة‬ ‫ناتج‬ ‫كان‬ ‫إذا‬((True.
‫المعامل‬(or)‫ناتج‬ ‫يعطى‬‫نهائي‬(True)‫الشروط‬ ‫أحد‬ ‫ناتج‬ ‫كان‬ ‫إذا‬(True).
‫أمثلة‬‫ال‬‫ستخدام‬‫ا‬‫لمعامل‬(And)‫المتغير‬ ‫أن‬ ‫بفرض‬(A)‫المتغير‬‫و‬(B)‫منطقية‬ ‫ات‬‫ر‬‫متغي‬
A= TRUE AND B= TRUETRUE
A=TRUE AND B=FALSEFALSE
A= FALSE AND B= TRUEFALSE
A= FALSE AND B= FALSEFALSE
‫األصلي‬ ‫الكود‬
‫عند‬ ‫الكود‬
‫خطأ‬ ‫حدوث‬
(33)
‫الفصل‬‫الثاني‬‫التفرع‬
Branching
‫للمعامل‬ ‫توضيحي‬ ‫مثال‬(OR)‫المتغير‬ ‫أن‬ ‫بفرض‬(A)‫المتغير‬‫و‬(B)‫ات‬‫ر‬‫متغي‬(Variables)‫منطقية‬
A= TRUE OR B= TRUETRUE
A=TRUE OR B=FALSETRUE
A= FALSE OR B= TRUETRUE
A= FALSE OR B= FALSEFALSE
‫تدريب‬(2-0):‫منوذج‬ ‫على‬ ‫حيتوى‬ ‫جديد‬ ‫مشروع‬ ‫بإنشاء‬ ‫قم‬(Form)
‫كما‬‫موضح‬ ‫هو‬( ‫بشكل‬2-6):
( ‫شكل‬2-6)( ‫النموذج‬ ‫نافذة‬Form‫التشغيل‬ ‫أثناء‬ )
‫الزر‬ ‫على‬ ‫النقر‬ ‫عند‬ ‫المطلوب‬‫و‬"‫النتيجة‬ ‫"عرض‬‫فى‬ ‫يعرض‬(Label4)‫ناجح‬‫أ‬‫اسب‬‫ر‬ ‫و‬:‫أساس‬ ‫على‬
‫تساوى‬ ‫أو‬ ‫من‬ ‫أكبر‬ ‫درجة‬ ‫كل‬ ‫حالة‬ ‫في‬ ‫ناجح‬05‫و‬‫اسب‬‫ر‬‫إ‬‫الدرجت‬ ‫من‬ ‫أيا‬ ‫كانت‬ ‫ذا‬‫ي‬‫من‬ ‫أقل‬ ‫ن‬05
‫انظر‬( ‫تدريب‬2-2‫الدرجت‬ ‫يختبر‬ ‫سوف‬ ‫الشرطي‬ ‫التعبير‬ ‫أن‬ ‫عدا‬ ‫فيما‬ ‫تماما‬ ‫مثله‬ ‫التدريب‬ ‫هذا‬ ‫أن‬ ‫ستجد‬ )‫ي‬.‫معا‬ ‫ن‬
‫يلي‬ ‫كما‬ ‫الكود‬ ‫يصبح‬
(33)
‫الفصل‬‫الثاني‬‫التفرع‬
Branching
‫الحظ‬
‫استخدام‬(And)‫التعبير‬ ‫في‬‫الذي‬‫و‬ ‫الشرطي‬‫الناتج‬ ‫يكون‬ ‫حتى‬ ‫الشروط‬ ‫جميع‬ ‫تحقق‬ ‫وجوب‬ ‫يعنى‬
‫الشرطي‬ ‫للتعبير‬ ‫الكلي‬((True
‫بين‬ ‫ما‬ ‫ناتج‬ ‫أن‬(If)‫و‬(Then)‫منطقي‬ ‫ناتج‬ ‫يكون‬ ‫أن‬ ‫البد‬(True)‫أ‬‫و‬(False).
( ‫يب‬‫ر‬‫تد‬2-6:‫ليصبح‬ ‫السابق‬ ‫يب‬‫ر‬‫التد‬ ‫يف‬ ‫الشرط‬ ‫تغري‬ ‫اذا‬ : )‫درجة‬ ‫حالة‬ ‫يف‬ ‫ناجح‬
‫الدرجت‬ ‫من‬‫ني‬‫أ‬‫تساوى‬ ‫أو‬ ‫من‬ ‫كرب‬05‫و‬‫اسب‬‫ر‬‫إ‬‫من‬ ‫أقل‬ ‫الدرجتان‬ ‫كال‬‫كانت‬‫ذا‬05
:‫يلي‬ ‫كما‬ ‫الكود‬ ‫يصبح‬
‫الحظ‬‫أن‬‫الف‬‫ا‬‫رق‬‫استخدام‬ ‫هو‬ ‫الوحيد‬(Or)‫من‬ ‫بدال‬(And)
(33)
‫الفصل‬‫الثاني‬‫التفرع‬
Branching
2-5‫باستخدام‬ ‫التفرع‬Select…Case:
‫جملة‬Select…Case‫جملة‬ ‫تشبه‬(If…Then…Elseif)‫ع‬‫التفر‬ ‫يكون‬ ‫عندما‬ ‫أكثر‬ ‫بشكل‬ ‫فعالة‬ ‫أنها‬ ‫غير‬
‫متغير‬ ‫قيمة‬ ‫على‬ ‫معتمدا‬(Variable)‫الكود‬ ‫تجعل‬ ‫أنها‬ ‫كما‬ ‫احد‬‫و‬(Code)‫اكثر‬ ‫بشكل‬ ‫مفهوم‬.
‫يب‬‫ر‬‫تد‬(2-7):‫الكود‬ ‫تعديل‬(Code)‫يف‬‫يب‬‫ر‬‫تد‬2-4‫باستخدام‬
Select…Case‫من‬ ً‫ال‬‫بد‬If…Then…Elseif.
‫مع‬ ‫افقة‬‫و‬‫المت‬ ‫التدفق‬ ‫يطة‬‫ر‬‫خ‬ ‫رسم‬ ‫حاولنا‬ ‫لو‬(Select …Case)‫سنجد‬‫بشكل‬ ‫موضح‬ ‫هو‬ ‫كما‬(2-7):
( ‫شكل‬2-7‫باستخدام‬ ‫التدفق‬ ‫خريطة‬ )Select..Caae‫بتدريب‬ ‫الخاصة‬2-7
:‫هو‬ ‫الجملة‬ ‫لهذه‬ ‫العام‬ ‫الهيكل‬
ٍSelect Case Variable
Case value1
code
Case value2
code
Case value3
code
.
.
Case else
code
End Select
start
Get D
Case D
Output
"‫صفر‬"
End
Output
"‫الصفر‬ ‫تحت‬"
Output
"‫الصفر‬ ‫فوق‬"
(33)
‫الفصل‬‫الثاني‬‫التفرع‬
Branching
‫شكل‬ ‫من‬(2-5)‫إمكانية‬ ‫يتضح‬‫عين‬‫فر‬ ‫من‬ ‫أكثر‬ ‫الى‬ ‫ع‬‫التفر‬‫من‬‫ار‬‫ر‬‫الق‬ ‫اتخاذ‬ ‫رمز‬‫اتخاذ‬ ‫رمز‬ ‫يحتوى‬ ‫حيث‬
‫المتغير‬ ‫قيمة‬ ‫عن‬ ‫ال‬‫ؤ‬‫س‬ ‫على‬ ‫ار‬‫ر‬‫الق‬(D)‫ع‬‫نتفر‬ ‫قيمته‬ ‫وحسب‬‫إ‬‫كود‬ ‫لى‬(Code)‫مختلف‬.
‫يلى‬ ‫كما‬ ‫الكود‬ ‫يكون‬:
‫يب‬‫ر‬‫تد‬(2-8):‫بإنشاء‬ ‫قم‬‫جديد‬ ‫ع‬‫مشرو‬(New Project)‫على‬ ‫حيتوى‬
‫منوذج‬(Form)
‫كما‬‫موضح‬ ‫هو‬‫بشكل‬(2-8):
( ‫شكل‬2-8‫النموذج‬ )Form‫الخاص‬‫بتدريب‬(2-8)
Label1
Label4
Label3
Label2
Listbox1
Label5
Label6
Label7
(33)
‫الفصل‬‫الثاني‬‫التفرع‬
Branching
‫المطلوب‬‫و‬‫على‬ ‫النقر‬ ‫عند‬‫أي‬‫األداة‬ ‫عناصر‬ ‫من‬ ‫عنصر‬(Listbox1)‫عدد‬ ‫يعرض‬‫األحرف‬(sides)
‫و‬‫األوجه‬ ‫عدد‬(faces)‫وعدد‬‫الرؤوس‬(vertices).‫المحدد‬ ‫للمجسم‬
‫الكود‬ ‫يكتب‬(Code)‫في‬‫الحدث‬ ‫اء‬‫ر‬‫إج‬(SelectedIndexChanged)‫عن‬ ‫يعنى‬ ‫الذى‬‫د‬‫فهرس‬ ‫تغير‬
(Index‫أي‬ )‫تيب‬‫ر‬‫ت‬‫الحدث‬ ‫وهو‬ ‫المحدد‬ ‫العنصر‬‫اضي‬‫ر‬‫االفت‬‫لألداة‬(Listbox1)‫الحدث‬ ‫هذا‬ ‫ويتحقق‬
‫عن‬‫د‬‫األداة‬ ‫عناصر‬ ‫من‬ ‫عنصر‬ ‫اختيار‬(Listbox1).
( ‫عناصر‬ ‫إضافة‬ ‫يتم‬Items( ‫لألداة‬ )Listbox‫عن‬ )( ‫الخاصية‬ ‫يق‬‫ر‬‫ط‬Items‫مع‬ ‫التصميم‬ ‫نمط‬ ‫في‬ )
‫تيبه‬‫ر‬‫ت‬ ‫الثانى‬‫و‬ ‫صفر‬ ‫تيبه‬‫ر‬‫ت‬ ‫األول‬ ‫العنصر‬ ‫يكون‬ ‫بحيث‬ ‫القائمة‬ ‫عناصر‬ ‫تيب‬‫ر‬‫ت‬ ‫يتم‬ ‫العلم‬1...
.‫وهكذا‬
‫لذلك‬‫فة‬‫ر‬‫مع‬ ‫يتم‬‫ا‬ ‫العنصر‬‫الخاصية‬ ‫يق‬‫ر‬‫ط‬ ‫عن‬ ‫لمحدد‬(SelectedIndex)‫لألداة‬(Listbox1)
‫الخاصية‬ ‫هذه‬ ‫قيمة‬ ‫تكون‬ ‫عندما‬(1)‫الثانى‬ ‫العنصر‬ ‫تحديد‬ ‫يعنى‬ ‫فهذا‬ ‫مثال‬.‫وهكذا‬
‫الكود‬ ‫يكتب‬‫في‬‫الحدث‬ ‫اء‬‫ر‬‫إج‬(SelectedIndexChanged)‫الخاص‬‫باألداة‬(Listbox1)‫يلي‬ ‫كما‬:
‫نامج‬‫ر‬‫الب‬ ‫بتشغيل‬ ‫قم‬.
‫اختر‬‫اسم‬‫القائمة‬ ‫صندوق‬ ‫من‬ ‫مجسم‬ ‫أي‬(Listbox)‫من‬ ‫يظهر‬ ‫ما‬ ‫الحظ‬‫و‬.‫نتائج‬
‫اجع‬‫ر‬.‫النتائج‬ ‫من‬ ‫للتأكد‬ ‫المجسمات‬ ‫عن‬ ‫ياضيات‬‫ر‬‫ال‬ ‫فى‬ ‫درسته‬ ‫ما‬
‫العنصر‬ ‫فهرس‬ ‫قيمة‬ ‫تخصيص‬
‫المتغير‬ ‫في‬ ‫المحدد‬X
‫العنصر‬ ‫اختيار‬ ‫حالة‬ ‫في‬ ‫الكود‬
)‫(المكعب‬ ‫صفر‬ ‫ترتيبه‬ ‫الذى‬
‫حالة‬ ‫في‬ ‫الكود‬‫الذى‬ ‫العنصر‬ ‫اختيار‬
‫ترتيبه‬1)‫المستطيالت‬ ‫(متوازي‬
‫العنصر‬ ‫اختيار‬ ‫حالة‬ ‫في‬ ‫الكود‬
‫ترتيبه‬ ‫الذى‬2)‫الثالثي‬ ‫(الهرم‬
‫العنصر‬ ‫اختيار‬ ‫حالة‬ ‫في‬ ‫الكود‬
‫ترتيبه‬ ‫الذى‬3)‫(األسطوانة‬
(34)
‫الفصل‬‫الثاني‬‫التفرع‬
Branching
‫عملية‬ ‫تدريبات‬
(1)‫قم‬ , ‫كتلي‬ ‫وعدد‬ ‫ي‬‫ذر‬ ‫وعدد‬ ‫رمز‬ ‫عنصر‬ ‫لكل‬ ‫أن‬ ‫تعلمت‬ ‫العلوم‬ ‫لمادة‬ ‫استك‬‫ر‬‫د‬ ‫من‬‫بإنشاء‬‫ع‬‫مشرو‬
(Project)‫نموذج‬ ‫على‬ ‫يحتوى‬(Form)‫كما‬‫موضح‬ ‫هو‬( ‫بشكل‬2-9:)
( ‫شكل‬2-9‫المستخدم‬ ‫اجهة‬‫و‬ )
‫عن‬ ‫المطلوب‬‫و‬‫د‬‫الزر‬ ‫على‬ ‫النقر‬ ‫ثم‬ ‫العناصر‬ ‫احد‬ ‫اختيار‬"‫عرض‬"‫العدد‬‫و‬ ‫ي‬‫الذر‬ ‫العدد‬‫و‬ ‫الرمز‬ ‫يظهر‬
‫العنصر‬ ‫لهذا‬ ‫الكتلي‬.
‫الكود‬ ‫نكتب‬(Code)‫في‬‫الحدث‬ ‫اء‬‫ر‬‫إج‬(Click)‫بالزر‬ ‫الخاص‬"‫"عرض‬‫يلى‬ ‫كما‬:
Label4
Label5
Label6
Groupbox1
RadioButton1
RadioButton2
RadioButton4
RadioButton4
(34)
‫الفصل‬‫الثاني‬‫التفرع‬
Branching
(2)‫تعلمت‬ ‫افيا‬‫ر‬‫للجغ‬ ‫استك‬‫ر‬‫د‬ ‫من‬‫الكثير‬‫ال‬ ‫مثل‬ ‫المفاهيم‬ ‫من‬‫م‬‫بإنشاء‬ ‫قم‬ , ‫الخ‬ ... ‫النجم‬‫و‬ ‫الكوكب‬‫و‬ ‫ة‬‫ر‬‫ج‬
‫ع‬‫مشرو‬(Project)‫نموذج‬ ‫على‬ ‫يحتوى‬(Form)‫كما‬‫موضح‬ ‫هو‬( ‫بشكل‬2-11:)
‫شكل‬(2-11‫المستخدم‬ ‫اجهة‬‫و‬ )
‫اختيار‬ ‫عند‬ ‫هو‬ ‫المطلوب‬‫و‬‫أ‬‫األداة‬ ‫عناصر‬ ‫حد‬(ComboBox)‫النص‬ ‫بع‬‫ر‬‫م‬ ‫فى‬ ‫يعرض‬(TextBox).‫يفه‬‫ر‬‫تع‬
‫إرشادات‬
1-‫الخاصية‬ ‫اجعل‬(Multiline)‫النص‬ ‫بع‬‫ر‬‫لم‬(TextBox)‫تساوى‬(true)
2-‫أ‬‫العناصر‬ ‫ضف‬‫ة‬‫ر‬‫(مج‬-‫كوكب‬-‫قمر‬-‫نجم‬-‫نيزك‬-)‫شهاب‬‫لألداة‬(ComboBox)‫الخاصية‬ ‫خالل‬ ‫من‬
(items)
3-‫الكود‬ ‫يكتب‬‫في‬‫الحدث‬ ‫اء‬‫ر‬‫إج‬(SelectedIndexChanged)‫باألداة‬ ‫الخاص‬(ComboBox)
:‫يلي‬ ‫كما‬
ComboBox1
Textbox1
(34)
‫الفصل‬‫الثاني‬‫التفرع‬
Branching
‫اعتمدنا‬ ‫لقد‬‫في‬‫الكود‬ ‫كتابة‬(Code)‫على‬‫األداة‬ ‫داخل‬ ‫العناصر‬ ‫تيب‬‫ر‬‫ت‬(ComboBox)‫أن‬ ‫حيث‬
‫العنصر‬‫له‬ ‫األول‬( ‫تيب‬‫ر‬‫ت‬index‫صفر‬ )‫الثاني‬‫و‬1‫الثالث‬‫و‬2‫وهكذا‬.
(34)
‫الفصل‬‫الثاني‬‫التفرع‬
Branching
‫أسئلة‬
: ‫األول‬ ‫ال‬‫ؤ‬‫الس‬( ‫عالمة‬ ‫ضع‬‫وعالمة‬ ‫الصحيحة‬ ‫ة‬‫العبار‬ ‫أمام‬ )()‫الخطأ‬ ‫ة‬‫العبار‬ ‫امام‬:
(1)‫جملة‬ ‫استخدام‬ ‫مع‬ ‫الممكنة‬ ‫ع‬‫التفر‬ ‫ات‬‫ر‬‫اختيا‬ ‫عدد‬(If..Then..else)‫هو‬2) (
(2)‫يلي‬ ‫الذى‬ ‫الكود‬ ‫ينفذ‬(Else)‫جملة‬ ‫في‬(IF)‫الشرطي‬ ‫التعبير‬ ‫ناتج‬ ‫يكون‬ ‫عندما‬ ,
(True).
) (
(3)‫المعامل‬&‫هو‬‫أ‬‫المنطقية‬ ‫نة‬‫ر‬‫المقا‬ ‫معامالت‬ ‫حد‬.) (
(4)‫نة‬‫ر‬‫المقا‬ ‫معامل‬ ‫باستخدام‬(Or)‫المستخدمة‬ ‫الشروط‬ ‫اتج‬‫و‬‫ن‬ ‫كافة‬ ‫يكون‬ ‫أن‬ ‫يجب‬(False)
‫يكون‬ ‫لكي‬‫الناتج‬‫النهائى‬(False.)
) (
(5)‫جملة‬ ‫تستخدم‬(Select Case)‫شرطية‬ ‫بجملة‬ ‫شرطى‬ ‫تعبير‬ ‫من‬ ‫أكثر‬ ‫اختبار‬ ‫حالة‬ ‫فى‬
‫احدة‬‫و‬.
) (
(6)‫المتغير‬ ‫قيمة‬ ‫كانت‬ ‫إذا‬(x‫تساوي‬ )15‫المتغير‬‫و‬(Y)‫تساوى‬350‫التعبير‬ ‫ناتج‬ ‫فإن‬
‫الشرطى‬(x>10 And y<500)‫هو‬(False.)
) (
(7)‫استخدام‬(Else)‫جملة‬ ‫فى‬ ‫ي‬‫اختيار‬(If.)) (
(8)‫المعامل‬(and)‫ناتجهما‬ ‫الشرطان‬ ‫يكون‬ ‫ان‬ ‫يتطلب‬(true)‫النهائى‬ ‫الناتج‬ ‫يكون‬ ‫لكى‬
(True).
) (
(9)‫الخاصية‬‫التي‬‫باألداة‬ ‫المحدد‬ ‫العنصر‬ ‫الى‬ ‫تشير‬(ListBox)‫هى‬(SelectedIndex.)) (
(11)‫تستخدم‬(Select..Case)‫ع‬‫للتفر‬ ‫احتمالين‬ ‫من‬ ‫اكثر‬ ‫وجود‬ ‫حالة‬ ‫فى‬.) (
‫ال‬‫ؤ‬‫الس‬‫الثاني‬:
‫يستخدم‬‫الكود‬(Code)‫التالي‬‫ها‬‫قطر‬ ‫نصف‬ ‫ة‬‫دائر‬ ‫مساحة‬ ‫لحساب‬(R)‫فى‬ ‫الكود‬ ‫كتابة‬ ‫بإعادة‬ ‫قم‬
‫األيسر‬ ‫العمود‬‫النص‬ ‫مربع‬ ‫فى‬ ‫سالب‬ ‫عدد‬ ‫ادخال‬ ‫عند‬ "‫مسموح‬ ‫"غير‬ ‫رسالة‬ ‫يعطى‬ ‫بحيث‬(Textbox1)
‫للمتغير‬ ‫قيمته‬ ‫خصص‬ ‫الذى‬(R).
(33)
‫الفصل‬‫الثاني‬‫التفرع‬
Branching
:‫الثالث‬ ‫ال‬‫ؤ‬‫الس‬‫الكود‬ ‫اسة‬‫ر‬‫بد‬ ‫قم‬(Code)‫التالي‬‫درجة‬ ‫لكل‬ ‫المناسب‬ ‫التقدير‬ ‫يحدد‬ ‫الذى‬‫و‬ ‫جيدة‬ ‫اسة‬‫ر‬‫د‬
‫مدخلة‬‫في‬‫النص‬ ‫مربع‬(Textbox1)
‫عرضه‬ ‫يتم‬ ‫ما‬ ‫حدد‬‫في‬‫ان‬‫و‬‫العن‬ ‫أداة‬(Label2)‫التالية‬ ‫الدرجات‬ ‫ادخال‬ ‫عند‬‫في‬‫النص‬ ‫مربع‬
(Textbox1):
‫المدخلة‬ ‫الدرجة‬‫الناتج‬
30
84
64.4
-33
‫صفر‬
114.3
‫ال‬‫ؤ‬‫الس‬‫ابع‬‫ر‬‫ال‬:‫يستخدم‬‫الكود‬‫التالي‬‫األولي‬ ‫الدرجة‬ ‫من‬ ‫معادلة‬ ‫لحل‬(y=3x+2)‫عند‬ ‫صحيحة‬ ‫نتائج‬ ‫ويعطى‬
‫عددية‬ ‫قيم‬ ‫ادخال‬‫في‬‫النص‬ ‫مربع‬(TextBox)‫التشغيل‬ ‫أثناء‬ ‫خطأ‬ ‫حدث‬ ‫ولكن‬(Runtime Error)‫عند‬
‫حرفية‬ ‫قيم‬ ‫ادخال‬‫في‬‫النص‬ ‫مربع‬(TextBox)‫الكود‬ ‫كتابة‬ ‫بإعادة‬ ‫قم‬(Code)‫المشكلة‬ ‫هذه‬ ‫حل‬ ‫بعد‬
‫جملة‬ ‫باستخدام‬(If)‫رسالة‬ ‫يعطى‬ ‫بحيث‬ ‫إضافية‬‫في‬"‫عددية‬ ‫قيمة‬ ‫إدخال‬ ‫"يجب‬ ‫وهى‬ ‫ان‬‫و‬‫العن‬ ‫أداة‬
‫التعبير‬ ‫يكافىء‬
>=85 and <=100
‫قيمة‬ ‫الحالة‬ ‫هذة‬ ‫في‬deg‫محصورة‬ ‫تكون‬
‫من‬55‫الى‬111
(33)
‫الفصل‬‫الثاني‬‫التفرع‬
Branching
‫ال‬‫ؤ‬‫الس‬‫الخامس‬:‫التالية‬ ‫اد‬‫و‬‫األك‬ ‫من‬ ‫كل‬ ‫تنفيذ‬ ‫ناتج‬ ‫اختر‬ :
‫م‬‫الكود‬‫الناتج‬
1
‫أ‬.One
‫ب‬.Two
‫ج‬.three
2
‫أ‬.True
‫ب‬.False
‫ج‬.15
3
‫أ‬.Youssif Ahmed
‫ب‬.Ahmed Youssif
‫ج‬.Ahmed
4
‫أ‬.AXB=63
‫ب‬.7X9=63
‫ج‬.7X9=A*B
5
‫أ‬.First
‫ب‬.Second
‫ج‬.Forth
(33)
‫الفصل‬‫الثاني‬‫التفرع‬
Branching

Ch6 ar2

  • 1.
    ‫التفرع‬ Branching ‫بنها‬‫ية‬‫تدريس‬‫الفصل‬ ‫هذا‬‫الطالب‬ ‫يستطيع‬:‫أن‬ ‫يستخدم‬‫جملة‬If…Then. ‫جملة‬‫يستخدم‬If…Then…Else. ‫جملة‬ ‫يستخدم‬If…Then…ElseIf. ‫جملة‬ ‫يستخدم‬Select …Case.
  • 2.
    (43) ‫الفصل‬‫الثاني‬‫التفرع‬ Branching ‫مقــدمة‬ ‫درست‬‫في‬‫التدفق‬ ‫ائط‬‫ر‬‫خ‬(FlowChart)‫ت‬ ‫اختيار‬‫و‬‫ع‬‫التفر‬ ‫الى‬ ‫نحتاج‬ ‫ما‬ ‫ا‬‫ر‬‫كثي‬ ‫أننا‬‫مجموعة‬ ‫نفيذ‬ ‫ى‬‫أخر‬ ‫أو‬ ‫ات‬‫و‬‫خط‬‫بناء‬‫معين‬ ‫ال‬‫ؤ‬‫س‬ ‫على‬‫الكود‬ ‫كتابة‬ ‫أن‬ ‫تجد‬ ‫وسوف‬(Code)‫ع‬‫بالتفر‬ ‫الخاص‬‫ماهي‬ ‫الحل‬ ‫ات‬‫و‬‫خط‬ ‫إال‬(Algorithm)‫وللتعبير‬ ‫صياغتها‬ ‫يقة‬‫ر‬‫وط‬ ‫المستخدمة‬ ‫اللغة‬ ‫امر‬‫و‬‫بأ‬ ‫ام‬‫ز‬‫االلت‬ ‫مع‬ ‫ولكن‬ :‫التالية‬ ‫يبات‬‫ر‬‫التد‬ ‫خالل‬ ‫من‬ ‫تتضح‬ ‫البرمجة‬ ‫لغة‬ ‫في‬ ‫معينة‬ ‫جمل‬ ‫نستخدم‬ ‫برمجيا‬ ‫ع‬‫التفر‬ ‫عن‬ 2-1‫باستخدام‬ ‫التفرع‬‫جملة‬If…Then: ‫يكت‬ ‫ما‬‫ب‬‫بعد‬(If)‫الشرط‬ ‫هو‬‫أ‬‫التعبير‬ ‫و‬‫الشرطي‬(Conditional Expression)‫حالة‬ ‫وفى‬ ‫اب‬‫و‬‫ص‬ ‫ناتجه‬ ‫يكون‬ ‫ما‬(True)‫تنفيذ‬ ‫يتم‬‫امر‬‫و‬‫األ‬‫التي‬‫تلى‬(Then)‫حتي‬‫الوصول‬‫إ‬‫لى‬(End If)‫وفى‬ ‫امر‬‫و‬‫األ‬ ‫تنفيذ‬ ‫يتم‬ ‫خطأ‬ ‫ناتجه‬ ‫حالة‬‫التي‬‫تلى‬(End If)‫بشكل‬ ‫موضح‬ ‫هو‬ ‫كما‬(2-1). If X >= 50 Then Msgbox("‫ناجح‬") End if ( ‫شكل‬2-1‫جملة‬ ‫على‬ ‫مبسط‬ ‫مثال‬ )If..Then 2-1-1‫الشرطية‬ ‫ات‬‫ر‬‫التعبي‬Conditional Expressions: ‫التعبير‬‫الشرطي‬‫كود‬ ‫من‬ ‫ء‬‫جز‬ ‫هو‬(Code)‫اب‬‫و‬‫ص‬ ‫إما‬ ‫ناتجه‬ ‫يكون‬ ‫البرمجة‬(True)‫أو‬‫خطأ‬ (False)‫وذلك‬‫بناء‬‫خاصية‬ ‫قيمة‬ ‫على‬(Property)‫متغير‬ ‫أو‬(Variable).‫نامج‬‫ر‬‫بالب‬ ‫آخر‬ ‫بيان‬ ‫أو‬ ‫الصيغة‬‫العام‬‫ة‬:‫الجملة‬ ‫لهذه‬ If conditional Expression (‫شرطي‬ ‫تعبير‬) Then code End if X>=50 Msgbox " ‫"ناجح‬ End
  • 3.
    (43) ‫الفصل‬‫الثاني‬‫التفرع‬ Branching ‫التعبير‬ ‫مثال‬‫الشرطي‬(Degree>=50)‫اب‬‫و‬‫ص‬ ‫ناتجه‬(True)‫المتغير‬‫قيمة‬ ‫كانت‬ ‫اذا‬ (Degree)‫من‬ ‫أكبر‬‫تساوي‬ ‫أو‬05‫خطأ‬ ‫الناتج‬ ‫ويصبح‬(False)‫كانت‬ ‫إذا‬‫المتغير‬ ‫قيمة‬(Degree) ‫من‬ ‫أصغر‬05. =‫يساوى‬ < >‫يساوى‬ ‫ال‬ >‫من‬ ‫اكبر‬ <‫من‬ ‫اصغر‬ >=‫أو‬ ‫من‬ ‫أكبر‬‫يساوى‬ <=‫يساوى‬ ‫أو‬ ‫من‬ ‫أصغر‬ ( ‫جدول‬2-1‫المقارنة‬ ‫معامالت‬ ) 100 < > 100FALSE ‫متساويتين‬ ‫القيمتين‬ ‫أن‬ ‫حيث‬ 300 < > 100TRUE ‫متساويتين‬ ‫غير‬ ‫القيمتين‬ ‫أن‬ ‫حيث‬ DEGREE=Textbox1.TextTRUE ‫الخاصية‬ ‫قيمة‬ ‫كان‬ ‫اذا‬(Text)‫لألداة‬(Textbox1) ‫المتغير‬ ‫محتوى‬ ‫تساوى‬(DEGREE)‫يكون‬ ‫العكس‬‫و‬ ‫الناتج‬(FALSE) ( ‫جدول‬2-2‫المقارنة‬ ‫معامالت‬ ‫على‬ ‫أمثلة‬ )
  • 4.
    (43) ‫الفصل‬‫الثاني‬‫التفرع‬ Branching ( ‫يب‬‫ر‬‫تد‬2-1)‫تكون‬ ‫ما‬‫حالة‬ ‫وىف‬ ‫الدرجة‬ ‫إلدخال‬ ‫نامج‬‫ر‬‫ب‬ ‫عمل‬ ‫املطلوب‬ : ‫من‬ ‫اكرب‬ ‫الدرجة‬‫أو‬‫تساوى‬05.‫ناجح‬ ‫كلمة‬‫به‬ ‫رسالة‬ ‫صندوق‬ ‫يعطى‬ ‫قم‬‫بإنشاء‬‫نموذج‬ ‫على‬ ‫يحتوى‬ ‫ع‬‫مشرو‬(Form)( ‫بشكل‬ ‫موضح‬ ‫هو‬ ‫كما‬2-2): ( ‫شكل‬2-2‫النموذج‬ )Form‫تصميمه‬ ‫المطلوب‬ ‫النقر‬ ‫عند‬ ‫المطلوب‬‫و‬‫على‬‫زر‬"‫نتيجة‬"‫رسالة‬ ‫صندوق‬ ‫يعطى‬(MessageBox)‫كلمة‬ ‫به‬‫ناجح‬ ‫كانت‬ ‫إذا‬‫من‬ ‫اكبر‬ ‫الدرجة‬‫أ‬‫تساوى‬ ‫و‬05. ‫الكود‬ ‫نكتب‬ ‫سوف‬(Code)‫باالعتماد‬‫التدفق‬ ‫يطة‬‫ر‬‫خ‬ ‫على‬‫كما‬‫مبين‬ ‫هو‬( ‫بجدول‬2-3): ‫التدفق‬ ‫خريطة‬‫الكود‬ ‫الكود‬(Code)‫ويكتب‬‫في‬‫الحدث‬ ‫اء‬‫ر‬‫اج‬ (Click)‫األمر‬ ‫بزر‬ ‫الخاص‬(Button): ( ‫جدول‬2-3‫لتدريب‬ ‫الكود‬‫و‬ ‫التدفق‬ ‫خريطة‬ )(2-1) Start Enter X X>=50 Msgbox "‫ناجح‬" End
  • 5.
    (43) ‫الفصل‬‫الثاني‬‫التفرع‬ Branching ‫الحظ‬: 1-‫جملة‬ ‫استخدام‬ ‫تم‬(IF)‫التي‬‫و‬‫الشرط‬‫عن‬ ‫تعبر‬"‫قيمة‬ ‫هل‬(X)‫تساوى‬ ‫أو‬ ‫من‬ ‫أكبر‬05" 2-‫يمكن‬‫كود‬ ‫كتابة‬(Code)‫نامج‬‫ر‬‫الب‬‫باالعتماد‬( ‫الحل‬ ‫ات‬‫و‬‫خط‬ ‫على‬Algorithm:‫التالية‬ ) ‫نامج‬‫ر‬‫الب‬ ‫بتشغيل‬ ‫قم‬. ‫أدخل‬‫مثل‬ ‫قيم‬25‫و‬05‫و‬50‫زر‬ ‫على‬ ‫النقر‬‫و‬"‫نتيجة‬"‫في‬‫ة‬‫ر‬‫م‬ ‫كل‬. ‫الحظ‬: ‫الرسالة‬ ‫صندوق‬ ‫ظهور‬ ‫عدم‬(MessageBox)‫عن‬‫د‬‫إ‬‫دخال‬‫أي‬‫قيم‬‫ة‬‫من‬ ‫أقل‬05‫يكون‬ ‫عندما‬ ‫أنه‬ ‫حيث‬ ‫الشرط‬ ‫ناتج‬(False)‫بعد‬ ‫ما‬ ‫ينفذ‬(End if)‫وهو‬(End Sub)‫أي‬‫إ‬‫اء‬‫ر‬‫اإلج‬ ‫نهاء‬(Procedure). ‫جملة‬ ‫نفس‬ ‫كتابة‬ ‫يمكن‬(If)‫السابقة‬‫احد‬‫و‬ ‫سطر‬ ‫في‬‫يتم‬ ‫ال‬‫و‬‫وضع‬(End If):‫يلي‬ ‫كما‬
  • 6.
    (43) ‫الفصل‬‫الثاني‬‫التفرع‬ Branching 2-2‫باستخدام‬ ‫التفرع‬If…Then..Else: ‫ت‬‫السابقة‬ ‫عن‬‫الجملة‬ ‫هذه‬ ‫ختلف‬‫في‬‫كود‬ ‫وجود‬(Code)‫ينفذ‬‫في‬‫ناتج‬ ‫يكون‬ ‫أن‬ ‫حالة‬‫التعبير‬‫الشرطي‬ (False) ( ‫يب‬‫ر‬‫تد‬2-2:)‫الكود‬ ‫تعديل‬(Code)‫السابق‬‫ليعطي‬‫رسالة‬ ‫صندوق‬ (MessageBox)‫اسب‬‫ر‬ ‫كلمة‬‫به‬‫يف‬‫من‬ ‫أقل‬ ‫الدرجة‬ ‫حالة‬05 ‫كما‬‫بجدول‬ ‫مبين‬ ‫هو‬(2-4): ‫الكود‬(Code)‫ويكتب‬‫في‬‫الحدث‬ ‫اء‬‫ر‬‫اج‬ (Click)‫األمر‬ ‫بزر‬ ‫الخاص‬(Button): ( ‫جدول‬2-4‫لتدريب‬ ‫الكود‬‫و‬ ‫التدفق‬ ‫خريطة‬ )(2-2) start Enter X X>=50 Msgbox "‫ناجح‬" End Msgbox "‫راسب‬" ‫الصيغة‬‫العامة‬:‫الجملة‬ ‫لهذه‬ If conditional Expression (‫شرطي‬ ‫تعبير‬) Then Code Else Code End if ‫حالة‬ ‫في‬ ‫الكود‬True ‫حالة‬ ‫في‬ ‫الكود‬False
  • 7.
    (43) ‫الفصل‬‫الثاني‬‫التفرع‬ Branching ‫الحظ‬: 1-‫أنن‬‫ا‬‫استخدمنا‬(Else)‫التي‬‫و‬‫يليها‬ ‫ما‬ ‫تنفيذ‬‫تعنى‬‫في‬‫الشرط‬ ‫ناتج‬ ‫حالة‬(False.) 2-‫جملة‬ ‫كتابة‬ ‫يمكن‬(If)‫في‬‫بدون‬ ‫احد‬‫و‬ ‫سطر‬(End if):‫يلي‬ ‫كما‬ ‫يب‬‫ر‬‫تد‬(2-3)‫مشروع‬ ‫بتنفيذ‬ ‫قم‬ ‫السابق‬ ‫األسلوب‬ ‫بنفس‬(Project)‫حيتوى‬ ‫منوذج‬ ‫على‬(Form)‫قيمة‬ ‫يستقبل‬‫يف‬‫املتغري‬(N)‫نص‬ ‫صندوق‬ ‫خالل‬ ‫من‬ (TextBox)‫اظهار‬ ‫مث‬‫عبارة‬"‫الرقم‬‫زوجي‬"‫أو‬"‫الرقم‬‫فردى‬" ‫كما‬‫بجدول‬ ‫مبين‬ ‫هو‬(2-5): ‫الكود‬(Code)‫ويكتب‬‫في‬‫الحدث‬ ‫اء‬‫ر‬‫اج‬click ‫األمر‬ ‫بزر‬ ‫الخاص‬(Button): ( ‫جدول‬2-5‫لتدريب‬ ‫الكود‬‫و‬ ‫التدفق‬ ‫خريطة‬ )(2-3) ‫أننا‬ ‫يالحظ‬‫نا‬‫ر‬‫اختب‬‫قيمة‬(N)‫كانت‬ ‫إذا‬‫على‬ ‫القسمة‬ ‫تقبل‬2‫بدون‬‫باقي‬‫التعبير‬ ‫خالل‬ ‫من‬‫الشرطي‬ (N Mod 2),‫المعامل‬‫و‬(Mod)‫حسابي‬ ‫معامل‬ ‫هو‬‫يعطى‬‫باقي‬‫يكون‬ ‫ان‬ ‫حالة‬ ‫وفى‬ ‫القسمة‬‫باقي‬ ‫القس‬‫م‬‫ة‬‫على‬2‫يساوى‬‫صفر‬‫وجود‬ ‫عدم‬ ‫يعنى‬ ‫فهذا‬‫باقي‬‫قسمة‬‫وبالتالي‬‫يكون‬‫العدد‬‫زوجي‬. Start Get N N divisible by 2 ‫زوجي‬ ‫الرقم‬ ‫فردى‬ ‫الرقم‬ End ‫جملة‬If‫واحد‬ ‫سطر‬ ‫في‬
  • 8.
    (34) ‫الفصل‬‫الثاني‬‫التفرع‬ Branching 2-3‫باستخدام‬ ‫التفرع‬If…Then…ElseIf: ‫أن‬ ‫الحظنا‬‫جملة‬(If…Then…Else)‫ين‬‫ر‬‫اختيا‬‫وجود‬ ‫عند‬ ‫تستخدم‬‫أ‬‫حدهما‬‫في‬‫اب‬‫و‬‫الص‬ ‫حالة‬ (True)‫اآلخر‬‫و‬‫في‬‫الخطأ‬ ‫حالة‬(False)‫أم‬‫ا‬(If…Then…Elseif)‫من‬ ‫أكثر‬ ‫وجود‬ ‫عند‬ ‫فتستخدم‬ ‫شرطي‬ ‫تعبير‬. ‫تدريب‬2-4‫على‬ ‫حيتوى‬ ‫مشروع‬ ‫بعمل‬ ‫قم‬‫منوذج‬(Form)‫كما‬‫موضح‬ ‫هو‬(‫بشكل‬2-3): ( ‫شكل‬2-3‫النموذج‬ )Form‫بتدريب‬ ‫المطلوب‬(2-4) ‫عند‬ ‫المطلوب‬‫و‬‫إ‬‫النص‬ ‫بع‬‫ر‬‫م‬ ‫خالل‬ ‫من‬ ‫ة‬‫ر‬‫ا‬‫ر‬‫الح‬ ‫درجة‬ ‫دخال‬(Textbox1)‫ث‬‫م‬‫الزر‬ ‫على‬ ‫النقر‬ "‫"اختبار‬‫يعرض‬‫في‬(Label2)‫ة‬‫ر‬‫عبا‬"‫الصفر‬ ‫"فوق‬‫أو‬" ‫ة‬‫ر‬‫عبا‬‫صفر‬ ‫تساوى‬"‫أو‬"‫الصفر‬ ‫"تحت‬ ‫ة‬‫ر‬‫عبا‬ ‫التدفق‬ ‫لخريطة‬ ‫وفقا‬(‫بشكل‬2-4): ‫الجملة‬ ‫لهذه‬ ‫العامة‬ ‫الصيغة‬: If condition Then code ElseIf condition Then code ElseIf condition Then code . . Else code End If
  • 9.
    (34) ‫الفصل‬‫الثاني‬‫التفرع‬ Branching ( ‫شكل‬2-4‫بتدريب‬ ‫الخاصة‬‫التدفق‬ ‫خريطة‬ )(2-4) ‫الكود‬ ‫يكتب‬‫في‬‫الحدث‬ ‫اء‬‫ر‬‫إج‬click‫بالزر‬ ‫الخاص‬"‫"اختبار‬‫ك‬‫يلى‬ ‫ما‬: ‫الحظ‬: ‫المتغير‬ ‫عن‬ ‫اإلعالن‬ ‫تم‬(D)‫ع‬‫النو‬ ‫من‬(single)‫الحتمال‬‫قم‬‫ر‬ ‫إدخال‬‫ي‬‫عشر‬. ‫جملة‬ ‫أن‬(If)‫بدأت‬‫بالتعبير‬‫الشرطي‬(Degree=0) ‫يساوى‬ ‫ناتجه‬ ‫حالة‬ ‫وفى‬(False)‫ي‬‫تعبير‬ ‫اختبار‬ ‫تم‬‫شرطي‬‫وهو‬ ‫آخر‬(Degree<0) ‫يساوى‬ ‫ناتجه‬ ‫حالة‬ ‫وفى‬(False)‫ي‬‫بق‬‫ي‬‫احتمال‬‫أ‬‫أن‬ ‫وهو‬ ‫خير‬(Degree>0)‫احة‬‫ر‬‫ص‬ ‫يكتب‬ ‫لم‬ ‫لذلك‬ ‫إ‬‫ـ‬‫ب‬ ‫عنه‬ ‫التعبير‬ ‫تم‬ ‫نما‬(Else)‫ألنه‬‫هو‬‫االحتمال‬‫الوحيد‬‫الباقي‬. start Get D D =0 Output "‫صفر‬" end D<0 =0 Output "‫الصفر‬ ‫تحت‬" Output "‫الصفر‬ ‫فوق‬"
  • 10.
    (34) ‫الفصل‬‫الثاني‬‫التفرع‬ Branching ‫على‬ ‫بالضغط‬ ‫نامج‬‫ر‬‫الب‬‫بتشغيل‬ ‫قم‬(F5)‫لعمل‬(Start debugging) ‫ادخل‬‫قام‬‫ر‬‫أ‬‫مثل‬05‫و‬5‫و‬-15‫ة‬‫ر‬‫م‬ ‫كل‬ ‫الزر‬ ‫على‬ ‫النقر‬ ‫مع‬ ‫النص‬ ‫بع‬‫ر‬‫م‬ ‫بقاء‬ ‫مع‬ ‫الزر‬ ‫انقر‬(TextBox)‫خاليا‬‫محتوي‬ ‫أو‬‫نص‬ ‫على‬ ‫ا‬‫تالحظ‬ ‫ماذا‬‫؟‬ ‫نالحظ‬ ‫سوف‬‫نامج‬‫ر‬‫الب‬ ‫توقف‬‫و‬‫ع‬‫النو‬ ‫من‬ ‫خطأ‬ ‫ظهور‬(Runtime)‫كما‬‫موضح‬ ‫هو‬(‫بشكل‬2-5): ( ‫شكل‬2-5‫التشغيل‬ ‫أثناء‬ ‫الخطأ‬ ‫شكل‬ )(Runtime) ‫يتضح‬‫الشكل‬ ‫من‬(2-5):‫اآلتي‬ 1-‫السطر‬ ‫عند‬ ‫حدث‬ ‫الخطأ‬ ‫أن‬(Degree = Me.Textbox1.Text) 2-‫أن‬ ‫هو‬ ‫الخطأ‬ ‫سبب‬ ‫أن‬‫النص‬ ‫صندوق‬(TextBox)‫تحويله‬ ‫يتم‬ ‫لكى‬ ‫قم‬‫ر‬ ‫على‬ ‫يحتوى‬ ‫ال‬‫ضمنيا‬ ‫ع‬‫النو‬ ‫الى‬(Single)‫قبل‬ ‫من‬ ‫حدث‬ ‫كما‬‫المتغير‬ ‫بيانات‬ ‫ع‬‫نو‬ ‫وهو‬(Degree)‫نتيجة‬ ‫مشكلة‬ ‫حدثت‬ ‫نما‬‫ا‬‫و‬ ‫ع‬‫النو‬ ‫من‬ ‫التحويل‬ ‫امكانية‬ ‫عدم‬‫في‬‫ر‬‫ح‬‫النص‬ ‫بع‬‫ر‬‫م‬ ‫ترك‬ ‫تم‬ ‫(حيث‬(TextBox))‫قيم‬ ‫بدون‬ ‫خاليا‬‫الى‬ ‫ع‬‫النو‬(Single). ‫يمكن‬‫الخطأ‬ ‫هذا‬ ‫حدوث‬ ‫منع‬:‫منها‬ ‫طريقة‬ ‫من‬ ‫بأكثر‬ :‫األولي‬ ‫الطريقة‬‫للمستخدم‬ ‫رسالة‬ ‫إعطاء‬‫طريق‬ ‫عن‬‫جملة‬ ‫استخدام‬(If):‫يلى‬ ‫كما‬ ‫إضافية‬ ‫الخطأ‬ ‫حدوث‬ ‫سطر‬ ‫الى‬ ‫حرفي‬ ‫من‬ ‫تحويل‬ ‫خطأ‬single ( ‫الكود‬Code) ‫في‬ ‫ينفذ‬ ‫األصلي‬ ‫قيم‬ ‫إدخال‬ ‫حالة‬ .‫عددية‬ ( ‫الكود‬Code‫)في‬ ‫قيم‬ ‫إدخال‬ ‫حالة‬ .‫عددية‬ ‫غير‬ ‫جملة‬If‫اإلضافية‬
  • 11.
    (34) ‫الفصل‬‫الثاني‬‫التفرع‬ Branching ‫الحظ‬: ‫جملة‬ ‫وجود‬(If)‫اإلضافية‬‫إلختبار‬‫الخاصية‬ ‫قيمة‬(Text)‫النص‬‫لصندوق‬(TextBox)‫هل‬‫هي‬ ‫قيمة‬‫عددية‬‫الناتج‬ ‫حالة‬ ‫وفى‬(True)‫ي‬‫الكود‬ ‫تنفيذ‬ ‫تم‬(Code)‫المطلوب‬,‫أما‬‫الناتج‬ ‫حالة‬ ‫في‬ (False)‫عددية‬ ‫غير‬ ‫القيمة‬ ‫أن‬ ‫أي‬‫ي‬‫الكود‬ ‫تنفيذ‬ ‫تم‬(Code)‫البديل‬‫يلى‬ ‫الذى‬(Else). ‫التعبير‬ ‫استخدام‬ ‫تم‬‫الشرطي‬(Isnumeric(Textbox1.Text) = 0)‫في‬‫جملة‬(IF)‫اإلضافية‬ ‫و‬(Isnumeric)‫ال‬‫و‬‫الد‬ ‫أحد‬ ‫هي‬ ‫هنا‬( ‫فة‬‫ر‬‫المع‬Predefined Functions)‫فة‬‫ر‬‫لمع‬ ‫تستخدم‬ ‫التي‬ ‫متغير‬ ‫محتوى‬(Variable)‫نص‬ ‫صندوق‬ ‫محتوى‬ ‫او‬(TextBox)‫هو‬ ‫هل‬‫عددي‬‫أم‬‫في‬‫ر‬‫ح‬. ‫الدالة‬ ‫على‬ ‫أمثلة‬(Isnumeric):‫وناتجها‬ False ‫عددية‬ ‫غير‬ ‫القوسين‬ ‫داخل‬ ‫القيمة‬ ‫أن‬ ‫حيث‬. MsgBox IsNumeric("youssif") True ‫عددية‬ ‫القوسين‬ ‫داخل‬ ‫القيمة‬ ‫أن‬ ‫حيث‬. MsgBox(IsNumeric(10)) True ‫المتغير‬ ‫قيمة‬ ‫كانت‬ ‫اذا‬(a)‫عددية‬. MsgBox IsNumeric(a) True ‫النص‬ ‫صندوق‬ ‫كان‬ ‫اذا‬(TextBox3)‫على‬ ‫يحتوى‬ ‫عددية‬ ‫قيمة‬. MsgBox IsNumeric(textbox3.text) ( ‫جدول‬2-6)‫الدالة‬ ‫على‬ ‫أمثلة‬(IsNumeric) ‫أن‬ ‫نستنتج‬‫الدالة‬(Isnumeric)‫لها‬( ‫وسيطة‬ ‫أو‬ ‫مدخل‬Argument)‫ولها‬ ‫القوسين‬ ‫بين‬‫منطقي‬ ‫ناتج‬ ‫يكون‬(True)‫أو‬(False). .‫ابع‬‫ر‬‫ال‬ ‫بالفصل‬ ‫بالتفصيل‬ ‫ال‬‫و‬‫الد‬ ‫شرح‬ ‫وسيلى‬
  • 12.
    (33) ‫الفصل‬‫الثاني‬‫التفرع‬ Branching :‫الثانية‬ ‫الطريقة‬‫استخدام‬ ‫يمكن‬‫الجملة‬(Try..catch)‫يلى‬‫كما‬: ‫الحظ‬: ‫من‬ ‫الهدف‬‫الكود‬(Code)‫المكتوب‬‫عند‬ ‫التالي‬ ‫عمل‬‫الخطأ‬ ‫حدوث‬: 1-‫رسالة‬ ‫صندوق‬ ‫عرض‬(MessageBox)‫يطالب‬‫المستخدم‬‫قيمة‬ ‫من‬ ‫بدال‬ ‫عدد‬ ‫بإدخال‬‫أو‬ ‫فية‬‫ر‬‫ح‬ ‫خالية‬ ‫قيمة‬ 2-‫األمر‬(Focus)‫وسيلة‬ ‫هو‬(Method)‫خاصة‬‫بصندوق‬‫النص‬(TextBox)‫التركيز‬ ‫نقل‬ ‫وتعنى‬ ‫اليه‬‫ووضع‬‫النص‬ ‫صندوق‬ ‫بداخل‬ ‫المؤشر‬(TextBox). 0-‫األخير‬ ‫األمر‬‫خاصية‬ ‫جعل‬ ‫يعنى‬(Text).‫خالية‬ ‫فية‬‫ر‬‫ح‬ ‫سلسة‬ ‫تساوى‬ 2-4‫المنطقية‬ ‫المعامالت‬ ‫استخدام‬Logical Operators‫مع‬‫الشرطية‬ ‫الجملة‬If: ‫نحتاج‬ ‫قد‬‫إ‬‫تعبير‬ ‫من‬ ‫أكثر‬ ‫اختبار‬ ‫لى‬‫شرطي‬‫معا‬‫في‬‫جملة‬ ‫نفس‬If‫ات‬‫ر‬‫التعبي‬ ‫بين‬ ‫بط‬‫ر‬‫ن‬ ‫الحالة‬ ‫هذه‬ ‫وفى‬ ‫بالمعامل‬ ‫الشرطية‬‫المنطقي‬(And)‫المعامل‬ ‫أو‬‫المنطقي‬(Or). ‫المعامل‬(And)‫ناتج‬ ‫يعطى‬‫نهائي‬(True)‫الشروط‬ ‫كافة‬ ‫ناتج‬ ‫كان‬ ‫إذا‬((True. ‫المعامل‬(or)‫ناتج‬ ‫يعطى‬‫نهائي‬(True)‫الشروط‬ ‫أحد‬ ‫ناتج‬ ‫كان‬ ‫إذا‬(True). ‫أمثلة‬‫ال‬‫ستخدام‬‫ا‬‫لمعامل‬(And)‫المتغير‬ ‫أن‬ ‫بفرض‬(A)‫المتغير‬‫و‬(B)‫منطقية‬ ‫ات‬‫ر‬‫متغي‬ A= TRUE AND B= TRUETRUE A=TRUE AND B=FALSEFALSE A= FALSE AND B= TRUEFALSE A= FALSE AND B= FALSEFALSE ‫األصلي‬ ‫الكود‬ ‫عند‬ ‫الكود‬ ‫خطأ‬ ‫حدوث‬
  • 13.
    (33) ‫الفصل‬‫الثاني‬‫التفرع‬ Branching ‫للمعامل‬ ‫توضيحي‬ ‫مثال‬(OR)‫المتغير‬‫أن‬ ‫بفرض‬(A)‫المتغير‬‫و‬(B)‫ات‬‫ر‬‫متغي‬(Variables)‫منطقية‬ A= TRUE OR B= TRUETRUE A=TRUE OR B=FALSETRUE A= FALSE OR B= TRUETRUE A= FALSE OR B= FALSEFALSE ‫تدريب‬(2-0):‫منوذج‬ ‫على‬ ‫حيتوى‬ ‫جديد‬ ‫مشروع‬ ‫بإنشاء‬ ‫قم‬(Form) ‫كما‬‫موضح‬ ‫هو‬( ‫بشكل‬2-6): ( ‫شكل‬2-6)( ‫النموذج‬ ‫نافذة‬Form‫التشغيل‬ ‫أثناء‬ ) ‫الزر‬ ‫على‬ ‫النقر‬ ‫عند‬ ‫المطلوب‬‫و‬"‫النتيجة‬ ‫"عرض‬‫فى‬ ‫يعرض‬(Label4)‫ناجح‬‫أ‬‫اسب‬‫ر‬ ‫و‬:‫أساس‬ ‫على‬ ‫تساوى‬ ‫أو‬ ‫من‬ ‫أكبر‬ ‫درجة‬ ‫كل‬ ‫حالة‬ ‫في‬ ‫ناجح‬05‫و‬‫اسب‬‫ر‬‫إ‬‫الدرجت‬ ‫من‬ ‫أيا‬ ‫كانت‬ ‫ذا‬‫ي‬‫من‬ ‫أقل‬ ‫ن‬05 ‫انظر‬( ‫تدريب‬2-2‫الدرجت‬ ‫يختبر‬ ‫سوف‬ ‫الشرطي‬ ‫التعبير‬ ‫أن‬ ‫عدا‬ ‫فيما‬ ‫تماما‬ ‫مثله‬ ‫التدريب‬ ‫هذا‬ ‫أن‬ ‫ستجد‬ )‫ي‬.‫معا‬ ‫ن‬ ‫يلي‬ ‫كما‬ ‫الكود‬ ‫يصبح‬
  • 14.
    (33) ‫الفصل‬‫الثاني‬‫التفرع‬ Branching ‫الحظ‬ ‫استخدام‬(And)‫التعبير‬ ‫في‬‫الذي‬‫و‬ ‫الشرطي‬‫الناتج‬‫يكون‬ ‫حتى‬ ‫الشروط‬ ‫جميع‬ ‫تحقق‬ ‫وجوب‬ ‫يعنى‬ ‫الشرطي‬ ‫للتعبير‬ ‫الكلي‬((True ‫بين‬ ‫ما‬ ‫ناتج‬ ‫أن‬(If)‫و‬(Then)‫منطقي‬ ‫ناتج‬ ‫يكون‬ ‫أن‬ ‫البد‬(True)‫أ‬‫و‬(False). ( ‫يب‬‫ر‬‫تد‬2-6:‫ليصبح‬ ‫السابق‬ ‫يب‬‫ر‬‫التد‬ ‫يف‬ ‫الشرط‬ ‫تغري‬ ‫اذا‬ : )‫درجة‬ ‫حالة‬ ‫يف‬ ‫ناجح‬ ‫الدرجت‬ ‫من‬‫ني‬‫أ‬‫تساوى‬ ‫أو‬ ‫من‬ ‫كرب‬05‫و‬‫اسب‬‫ر‬‫إ‬‫من‬ ‫أقل‬ ‫الدرجتان‬ ‫كال‬‫كانت‬‫ذا‬05 :‫يلي‬ ‫كما‬ ‫الكود‬ ‫يصبح‬ ‫الحظ‬‫أن‬‫الف‬‫ا‬‫رق‬‫استخدام‬ ‫هو‬ ‫الوحيد‬(Or)‫من‬ ‫بدال‬(And)
  • 15.
    (33) ‫الفصل‬‫الثاني‬‫التفرع‬ Branching 2-5‫باستخدام‬ ‫التفرع‬Select…Case: ‫جملة‬Select…Case‫جملة‬ ‫تشبه‬(If…Then…Elseif)‫ع‬‫التفر‬‫يكون‬ ‫عندما‬ ‫أكثر‬ ‫بشكل‬ ‫فعالة‬ ‫أنها‬ ‫غير‬ ‫متغير‬ ‫قيمة‬ ‫على‬ ‫معتمدا‬(Variable)‫الكود‬ ‫تجعل‬ ‫أنها‬ ‫كما‬ ‫احد‬‫و‬(Code)‫اكثر‬ ‫بشكل‬ ‫مفهوم‬. ‫يب‬‫ر‬‫تد‬(2-7):‫الكود‬ ‫تعديل‬(Code)‫يف‬‫يب‬‫ر‬‫تد‬2-4‫باستخدام‬ Select…Case‫من‬ ً‫ال‬‫بد‬If…Then…Elseif. ‫مع‬ ‫افقة‬‫و‬‫المت‬ ‫التدفق‬ ‫يطة‬‫ر‬‫خ‬ ‫رسم‬ ‫حاولنا‬ ‫لو‬(Select …Case)‫سنجد‬‫بشكل‬ ‫موضح‬ ‫هو‬ ‫كما‬(2-7): ( ‫شكل‬2-7‫باستخدام‬ ‫التدفق‬ ‫خريطة‬ )Select..Caae‫بتدريب‬ ‫الخاصة‬2-7 :‫هو‬ ‫الجملة‬ ‫لهذه‬ ‫العام‬ ‫الهيكل‬ ٍSelect Case Variable Case value1 code Case value2 code Case value3 code . . Case else code End Select start Get D Case D Output "‫صفر‬" End Output "‫الصفر‬ ‫تحت‬" Output "‫الصفر‬ ‫فوق‬"
  • 16.
    (33) ‫الفصل‬‫الثاني‬‫التفرع‬ Branching ‫شكل‬ ‫من‬(2-5)‫إمكانية‬ ‫يتضح‬‫عين‬‫فر‬‫من‬ ‫أكثر‬ ‫الى‬ ‫ع‬‫التفر‬‫من‬‫ار‬‫ر‬‫الق‬ ‫اتخاذ‬ ‫رمز‬‫اتخاذ‬ ‫رمز‬ ‫يحتوى‬ ‫حيث‬ ‫المتغير‬ ‫قيمة‬ ‫عن‬ ‫ال‬‫ؤ‬‫س‬ ‫على‬ ‫ار‬‫ر‬‫الق‬(D)‫ع‬‫نتفر‬ ‫قيمته‬ ‫وحسب‬‫إ‬‫كود‬ ‫لى‬(Code)‫مختلف‬. ‫يلى‬ ‫كما‬ ‫الكود‬ ‫يكون‬: ‫يب‬‫ر‬‫تد‬(2-8):‫بإنشاء‬ ‫قم‬‫جديد‬ ‫ع‬‫مشرو‬(New Project)‫على‬ ‫حيتوى‬ ‫منوذج‬(Form) ‫كما‬‫موضح‬ ‫هو‬‫بشكل‬(2-8): ( ‫شكل‬2-8‫النموذج‬ )Form‫الخاص‬‫بتدريب‬(2-8) Label1 Label4 Label3 Label2 Listbox1 Label5 Label6 Label7
  • 17.
    (33) ‫الفصل‬‫الثاني‬‫التفرع‬ Branching ‫المطلوب‬‫و‬‫على‬ ‫النقر‬ ‫عند‬‫أي‬‫األداة‬‫عناصر‬ ‫من‬ ‫عنصر‬(Listbox1)‫عدد‬ ‫يعرض‬‫األحرف‬(sides) ‫و‬‫األوجه‬ ‫عدد‬(faces)‫وعدد‬‫الرؤوس‬(vertices).‫المحدد‬ ‫للمجسم‬ ‫الكود‬ ‫يكتب‬(Code)‫في‬‫الحدث‬ ‫اء‬‫ر‬‫إج‬(SelectedIndexChanged)‫عن‬ ‫يعنى‬ ‫الذى‬‫د‬‫فهرس‬ ‫تغير‬ (Index‫أي‬ )‫تيب‬‫ر‬‫ت‬‫الحدث‬ ‫وهو‬ ‫المحدد‬ ‫العنصر‬‫اضي‬‫ر‬‫االفت‬‫لألداة‬(Listbox1)‫الحدث‬ ‫هذا‬ ‫ويتحقق‬ ‫عن‬‫د‬‫األداة‬ ‫عناصر‬ ‫من‬ ‫عنصر‬ ‫اختيار‬(Listbox1). ( ‫عناصر‬ ‫إضافة‬ ‫يتم‬Items( ‫لألداة‬ )Listbox‫عن‬ )( ‫الخاصية‬ ‫يق‬‫ر‬‫ط‬Items‫مع‬ ‫التصميم‬ ‫نمط‬ ‫في‬ ) ‫تيبه‬‫ر‬‫ت‬ ‫الثانى‬‫و‬ ‫صفر‬ ‫تيبه‬‫ر‬‫ت‬ ‫األول‬ ‫العنصر‬ ‫يكون‬ ‫بحيث‬ ‫القائمة‬ ‫عناصر‬ ‫تيب‬‫ر‬‫ت‬ ‫يتم‬ ‫العلم‬1... .‫وهكذا‬ ‫لذلك‬‫فة‬‫ر‬‫مع‬ ‫يتم‬‫ا‬ ‫العنصر‬‫الخاصية‬ ‫يق‬‫ر‬‫ط‬ ‫عن‬ ‫لمحدد‬(SelectedIndex)‫لألداة‬(Listbox1) ‫الخاصية‬ ‫هذه‬ ‫قيمة‬ ‫تكون‬ ‫عندما‬(1)‫الثانى‬ ‫العنصر‬ ‫تحديد‬ ‫يعنى‬ ‫فهذا‬ ‫مثال‬.‫وهكذا‬ ‫الكود‬ ‫يكتب‬‫في‬‫الحدث‬ ‫اء‬‫ر‬‫إج‬(SelectedIndexChanged)‫الخاص‬‫باألداة‬(Listbox1)‫يلي‬ ‫كما‬: ‫نامج‬‫ر‬‫الب‬ ‫بتشغيل‬ ‫قم‬. ‫اختر‬‫اسم‬‫القائمة‬ ‫صندوق‬ ‫من‬ ‫مجسم‬ ‫أي‬(Listbox)‫من‬ ‫يظهر‬ ‫ما‬ ‫الحظ‬‫و‬.‫نتائج‬ ‫اجع‬‫ر‬.‫النتائج‬ ‫من‬ ‫للتأكد‬ ‫المجسمات‬ ‫عن‬ ‫ياضيات‬‫ر‬‫ال‬ ‫فى‬ ‫درسته‬ ‫ما‬ ‫العنصر‬ ‫فهرس‬ ‫قيمة‬ ‫تخصيص‬ ‫المتغير‬ ‫في‬ ‫المحدد‬X ‫العنصر‬ ‫اختيار‬ ‫حالة‬ ‫في‬ ‫الكود‬ )‫(المكعب‬ ‫صفر‬ ‫ترتيبه‬ ‫الذى‬ ‫حالة‬ ‫في‬ ‫الكود‬‫الذى‬ ‫العنصر‬ ‫اختيار‬ ‫ترتيبه‬1)‫المستطيالت‬ ‫(متوازي‬ ‫العنصر‬ ‫اختيار‬ ‫حالة‬ ‫في‬ ‫الكود‬ ‫ترتيبه‬ ‫الذى‬2)‫الثالثي‬ ‫(الهرم‬ ‫العنصر‬ ‫اختيار‬ ‫حالة‬ ‫في‬ ‫الكود‬ ‫ترتيبه‬ ‫الذى‬3)‫(األسطوانة‬
  • 18.
    (34) ‫الفصل‬‫الثاني‬‫التفرع‬ Branching ‫عملية‬ ‫تدريبات‬ (1)‫قم‬ ,‫كتلي‬ ‫وعدد‬ ‫ي‬‫ذر‬ ‫وعدد‬ ‫رمز‬ ‫عنصر‬ ‫لكل‬ ‫أن‬ ‫تعلمت‬ ‫العلوم‬ ‫لمادة‬ ‫استك‬‫ر‬‫د‬ ‫من‬‫بإنشاء‬‫ع‬‫مشرو‬ (Project)‫نموذج‬ ‫على‬ ‫يحتوى‬(Form)‫كما‬‫موضح‬ ‫هو‬( ‫بشكل‬2-9:) ( ‫شكل‬2-9‫المستخدم‬ ‫اجهة‬‫و‬ ) ‫عن‬ ‫المطلوب‬‫و‬‫د‬‫الزر‬ ‫على‬ ‫النقر‬ ‫ثم‬ ‫العناصر‬ ‫احد‬ ‫اختيار‬"‫عرض‬"‫العدد‬‫و‬ ‫ي‬‫الذر‬ ‫العدد‬‫و‬ ‫الرمز‬ ‫يظهر‬ ‫العنصر‬ ‫لهذا‬ ‫الكتلي‬. ‫الكود‬ ‫نكتب‬(Code)‫في‬‫الحدث‬ ‫اء‬‫ر‬‫إج‬(Click)‫بالزر‬ ‫الخاص‬"‫"عرض‬‫يلى‬ ‫كما‬: Label4 Label5 Label6 Groupbox1 RadioButton1 RadioButton2 RadioButton4 RadioButton4
  • 19.
    (34) ‫الفصل‬‫الثاني‬‫التفرع‬ Branching (2)‫تعلمت‬ ‫افيا‬‫ر‬‫للجغ‬ ‫استك‬‫ر‬‫د‬‫من‬‫الكثير‬‫ال‬ ‫مثل‬ ‫المفاهيم‬ ‫من‬‫م‬‫بإنشاء‬ ‫قم‬ , ‫الخ‬ ... ‫النجم‬‫و‬ ‫الكوكب‬‫و‬ ‫ة‬‫ر‬‫ج‬ ‫ع‬‫مشرو‬(Project)‫نموذج‬ ‫على‬ ‫يحتوى‬(Form)‫كما‬‫موضح‬ ‫هو‬( ‫بشكل‬2-11:) ‫شكل‬(2-11‫المستخدم‬ ‫اجهة‬‫و‬ ) ‫اختيار‬ ‫عند‬ ‫هو‬ ‫المطلوب‬‫و‬‫أ‬‫األداة‬ ‫عناصر‬ ‫حد‬(ComboBox)‫النص‬ ‫بع‬‫ر‬‫م‬ ‫فى‬ ‫يعرض‬(TextBox).‫يفه‬‫ر‬‫تع‬ ‫إرشادات‬ 1-‫الخاصية‬ ‫اجعل‬(Multiline)‫النص‬ ‫بع‬‫ر‬‫لم‬(TextBox)‫تساوى‬(true) 2-‫أ‬‫العناصر‬ ‫ضف‬‫ة‬‫ر‬‫(مج‬-‫كوكب‬-‫قمر‬-‫نجم‬-‫نيزك‬-)‫شهاب‬‫لألداة‬(ComboBox)‫الخاصية‬ ‫خالل‬ ‫من‬ (items) 3-‫الكود‬ ‫يكتب‬‫في‬‫الحدث‬ ‫اء‬‫ر‬‫إج‬(SelectedIndexChanged)‫باألداة‬ ‫الخاص‬(ComboBox) :‫يلي‬ ‫كما‬ ComboBox1 Textbox1
  • 20.
    (34) ‫الفصل‬‫الثاني‬‫التفرع‬ Branching ‫اعتمدنا‬ ‫لقد‬‫في‬‫الكود‬ ‫كتابة‬(Code)‫على‬‫األداة‬‫داخل‬ ‫العناصر‬ ‫تيب‬‫ر‬‫ت‬(ComboBox)‫أن‬ ‫حيث‬ ‫العنصر‬‫له‬ ‫األول‬( ‫تيب‬‫ر‬‫ت‬index‫صفر‬ )‫الثاني‬‫و‬1‫الثالث‬‫و‬2‫وهكذا‬.
  • 21.
    (34) ‫الفصل‬‫الثاني‬‫التفرع‬ Branching ‫أسئلة‬ : ‫األول‬ ‫ال‬‫ؤ‬‫الس‬(‫عالمة‬ ‫ضع‬‫وعالمة‬ ‫الصحيحة‬ ‫ة‬‫العبار‬ ‫أمام‬ )()‫الخطأ‬ ‫ة‬‫العبار‬ ‫امام‬: (1)‫جملة‬ ‫استخدام‬ ‫مع‬ ‫الممكنة‬ ‫ع‬‫التفر‬ ‫ات‬‫ر‬‫اختيا‬ ‫عدد‬(If..Then..else)‫هو‬2) ( (2)‫يلي‬ ‫الذى‬ ‫الكود‬ ‫ينفذ‬(Else)‫جملة‬ ‫في‬(IF)‫الشرطي‬ ‫التعبير‬ ‫ناتج‬ ‫يكون‬ ‫عندما‬ , (True). ) ( (3)‫المعامل‬&‫هو‬‫أ‬‫المنطقية‬ ‫نة‬‫ر‬‫المقا‬ ‫معامالت‬ ‫حد‬.) ( (4)‫نة‬‫ر‬‫المقا‬ ‫معامل‬ ‫باستخدام‬(Or)‫المستخدمة‬ ‫الشروط‬ ‫اتج‬‫و‬‫ن‬ ‫كافة‬ ‫يكون‬ ‫أن‬ ‫يجب‬(False) ‫يكون‬ ‫لكي‬‫الناتج‬‫النهائى‬(False.) ) ( (5)‫جملة‬ ‫تستخدم‬(Select Case)‫شرطية‬ ‫بجملة‬ ‫شرطى‬ ‫تعبير‬ ‫من‬ ‫أكثر‬ ‫اختبار‬ ‫حالة‬ ‫فى‬ ‫احدة‬‫و‬. ) ( (6)‫المتغير‬ ‫قيمة‬ ‫كانت‬ ‫إذا‬(x‫تساوي‬ )15‫المتغير‬‫و‬(Y)‫تساوى‬350‫التعبير‬ ‫ناتج‬ ‫فإن‬ ‫الشرطى‬(x>10 And y<500)‫هو‬(False.) ) ( (7)‫استخدام‬(Else)‫جملة‬ ‫فى‬ ‫ي‬‫اختيار‬(If.)) ( (8)‫المعامل‬(and)‫ناتجهما‬ ‫الشرطان‬ ‫يكون‬ ‫ان‬ ‫يتطلب‬(true)‫النهائى‬ ‫الناتج‬ ‫يكون‬ ‫لكى‬ (True). ) ( (9)‫الخاصية‬‫التي‬‫باألداة‬ ‫المحدد‬ ‫العنصر‬ ‫الى‬ ‫تشير‬(ListBox)‫هى‬(SelectedIndex.)) ( (11)‫تستخدم‬(Select..Case)‫ع‬‫للتفر‬ ‫احتمالين‬ ‫من‬ ‫اكثر‬ ‫وجود‬ ‫حالة‬ ‫فى‬.) ( ‫ال‬‫ؤ‬‫الس‬‫الثاني‬: ‫يستخدم‬‫الكود‬(Code)‫التالي‬‫ها‬‫قطر‬ ‫نصف‬ ‫ة‬‫دائر‬ ‫مساحة‬ ‫لحساب‬(R)‫فى‬ ‫الكود‬ ‫كتابة‬ ‫بإعادة‬ ‫قم‬ ‫األيسر‬ ‫العمود‬‫النص‬ ‫مربع‬ ‫فى‬ ‫سالب‬ ‫عدد‬ ‫ادخال‬ ‫عند‬ "‫مسموح‬ ‫"غير‬ ‫رسالة‬ ‫يعطى‬ ‫بحيث‬(Textbox1) ‫للمتغير‬ ‫قيمته‬ ‫خصص‬ ‫الذى‬(R).
  • 22.
    (33) ‫الفصل‬‫الثاني‬‫التفرع‬ Branching :‫الثالث‬ ‫ال‬‫ؤ‬‫الس‬‫الكود‬ ‫اسة‬‫ر‬‫بد‬‫قم‬(Code)‫التالي‬‫درجة‬ ‫لكل‬ ‫المناسب‬ ‫التقدير‬ ‫يحدد‬ ‫الذى‬‫و‬ ‫جيدة‬ ‫اسة‬‫ر‬‫د‬ ‫مدخلة‬‫في‬‫النص‬ ‫مربع‬(Textbox1) ‫عرضه‬ ‫يتم‬ ‫ما‬ ‫حدد‬‫في‬‫ان‬‫و‬‫العن‬ ‫أداة‬(Label2)‫التالية‬ ‫الدرجات‬ ‫ادخال‬ ‫عند‬‫في‬‫النص‬ ‫مربع‬ (Textbox1): ‫المدخلة‬ ‫الدرجة‬‫الناتج‬ 30 84 64.4 -33 ‫صفر‬ 114.3 ‫ال‬‫ؤ‬‫الس‬‫ابع‬‫ر‬‫ال‬:‫يستخدم‬‫الكود‬‫التالي‬‫األولي‬ ‫الدرجة‬ ‫من‬ ‫معادلة‬ ‫لحل‬(y=3x+2)‫عند‬ ‫صحيحة‬ ‫نتائج‬ ‫ويعطى‬ ‫عددية‬ ‫قيم‬ ‫ادخال‬‫في‬‫النص‬ ‫مربع‬(TextBox)‫التشغيل‬ ‫أثناء‬ ‫خطأ‬ ‫حدث‬ ‫ولكن‬(Runtime Error)‫عند‬ ‫حرفية‬ ‫قيم‬ ‫ادخال‬‫في‬‫النص‬ ‫مربع‬(TextBox)‫الكود‬ ‫كتابة‬ ‫بإعادة‬ ‫قم‬(Code)‫المشكلة‬ ‫هذه‬ ‫حل‬ ‫بعد‬ ‫جملة‬ ‫باستخدام‬(If)‫رسالة‬ ‫يعطى‬ ‫بحيث‬ ‫إضافية‬‫في‬"‫عددية‬ ‫قيمة‬ ‫إدخال‬ ‫"يجب‬ ‫وهى‬ ‫ان‬‫و‬‫العن‬ ‫أداة‬ ‫التعبير‬ ‫يكافىء‬ >=85 and <=100 ‫قيمة‬ ‫الحالة‬ ‫هذة‬ ‫في‬deg‫محصورة‬ ‫تكون‬ ‫من‬55‫الى‬111
  • 23.
    (33) ‫الفصل‬‫الثاني‬‫التفرع‬ Branching ‫ال‬‫ؤ‬‫الس‬‫الخامس‬:‫التالية‬ ‫اد‬‫و‬‫األك‬ ‫من‬‫كل‬ ‫تنفيذ‬ ‫ناتج‬ ‫اختر‬ : ‫م‬‫الكود‬‫الناتج‬ 1 ‫أ‬.One ‫ب‬.Two ‫ج‬.three 2 ‫أ‬.True ‫ب‬.False ‫ج‬.15 3 ‫أ‬.Youssif Ahmed ‫ب‬.Ahmed Youssif ‫ج‬.Ahmed 4 ‫أ‬.AXB=63 ‫ب‬.7X9=63 ‫ج‬.7X9=A*B 5 ‫أ‬.First ‫ب‬.Second ‫ج‬.Forth
  • 24.