Contenu connexe
Plus de Omar Computer Teacher
Plus de Omar Computer Teacher (20)
Ch6 ar2
- 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
- 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