300 likes | 319 Views
استخدام عبارات التحكم. عبارات التحكم. عبارات التحكم. هي تلك التي تستخدم للتحكم في سير البرنامج بناء على نتيجة مقارنات وقرارات منطقية. أنواع عبارات الشرط. عبارات شرط If عبارات المقارنة Select Case. تركيبات عبارات الشرط IF. التركيب IF … Then التركيب IF … Then … Else Nested If
E N D
عبارات التحكم • عبارات التحكم • هي تلك التي تستخدم للتحكم في سير البرنامج بناء على نتيجة مقارنات وقرارات منطقية..
أنواع عبارات الشرط • عبارات شرط If • عبارات المقارنة Select Case
تركيبات عبارات الشرط IF • التركيب IF … Then • التركيب IF … Then … Else • Nested If • التركيب If …Then .. Elseif
التركيب IF … Then • يستخدم لتنفيذ أمر واحد أو مجموعة أوامر في حالة تحقق شرط معين. • الصيغة العامة : If <condition> then <command> If <condition> then ……. <command> ….. End If • اذا ﺗﺤﻘﻖ اﻟﺸﺮط او اﺻﺒﺤﺖ ﻧﺘﻴﺤﺔ اﻟﺘﻌﺒﻴﺮ اﻟﺸﺮﻃﻲ اﻟـﺬي ﻳﻠـﻲ ﺟﻤﻠـﺔ If هـﻮ True، ﻓﺎن الأكواد اﻟﺘﻲ ﺗﻠﻲ ﻋﺒﺎرة If … Then ﺳﻴﺘﻢ ﺗﻨﻔﻴﺬهﺎ:
example ProtectedSub Button1_Click(ByVal sender AsObject, ByVal e As System.EventArgs) Handles Button1.Click Dim mark AsDouble mark = Convert.ToDouble(TextBox1.Text) If mark >= 60 Then Label2.Text = مبروك ناجح“” EndSub
ProtectedSub Button1_Click(ByVal sender AsObject, ByVal e As System.EventArgs) Handles Button1.Click Dim mark AsDouble mark = Convert.ToDouble(TextBox1.Text) If mark >= 60 Then Label2.Text = مبروك ناجح“” Label2.BackColor = Drawing.Color.Red EndIf EndSub
التركيب If …Then .. Else • يستخدم لتنفيذ أمر واحد أو مجموعة أوامر في حالة تحقق شرط معين , وتنفيذ أمر واحد او مجموعة أوامر في حالة عدم تحقق الشرط السابق • الصيغة العامة : If <condition> Then <Commands> Else <Commands> End if
ProtectedSub Button1_Click(ByVal sender AsObject, ByVal e As System.EventArgs) Handles Button1.Click Dim mark AsDouble mark = Convert.ToDouble(TextBox1.Text) If mark >= 60 Then Label2.Text = مبروك ناجح“” Else Label2.Text = راسب“” EndIf EndSub
Nested If • سلسلة شروط متداخله
Nested If ProtectedSub Button1_Click(ByVal sender AsObject, ByVal e As System.EventArgs) Handles Button1.Click Dim age AsInteger age = Convert.ToInt32(TextBox1.Text) If age >= 25 Then If age >= 35 Then If age >= 65 Then Label2.Text = " انك كبير السن Else Label2.Text = " إن عمرك مناسب" EndIf Else Label2.Text = " انك لا تزال شابا" EndIf Else Label2.Text = " لازلت صغيرا جدا" EndIf EndSub
التركيبه If …Then .. Elseif • يستخدم عند وجود عدة احتمالات لأمر معين • الصيغة العامة : If <condition> Then <Commands> ElseIf <condition> Then <Commands> ElseIf <condition> Then <Commands> .. .. Else <Commands> End if
التركيب If …Then .. IfElse • مثال : • قومي بكتابة برنامج يقوم بطباعة تقدير الطالب بناء على الدرجة
التركيب If …Then .. IfElse ProtectedSub Button1_Click(ByVal sender AsObject, ByVal e As System.EventArgs) Handles Button1.Click Dim mark AsInteger mark = Convert.ToDouble(TextBox1.Text) If mark >= 99 And mark <= 100 Then Label2.Text = "ممتاز" ElseIf mark >= 80 And mark <= 89 Then Label2.Text = "جيدجدا" ElseIf mark >= 70 And mark <= 79 Then Label2.Text = "جيد" ElseIf mark >= 60 And mark <= 69 Then Label2.Text = "مقبول" ElseIf mark <= 59 Then Label2.Text = "ضعيف" Else Label2.Text = "القيمة المدخله غير صحيحة" EndIf EndSub
Select Case • تستخدم هذه العبارة عندما نتوقع من وقوع احتمالات كثيرة لشرط معين. • الصيغة العامة: Select Case <condVar> Case <Value1> Statement Group 1 Case <Value2> Statement Group 2 ……. ……….. Case Else Statement Group n End Select
example • قومي بكتابة برنامج يقوم بحساب نسبة التخفيض حسب عدد السلع
Example for discount (Sale ) ProtectedSub Button1_Click(ByVal sender AsObject, ByVal e As System.EventArgs) Handles Button1.Click Dim q AsDouble, discount AsDouble q = Convert.Toint32(TextBox1.Text) SelectCase q CaseIs < 0 Label2.Text = "الكمية يجب ان لا تكون سالبه" Case 1, 2, 3 discount = 0 Case 4 To 9 discount = 0.1 Case 10 To 49 discount = 0.2
Case 50 To 100 discount = 0.3 CaseIs > 100 discount = 0.5 Case Else Label2.Text = "المدخلات غير معرفة من قبل النظام" EndSelect Label2.Text = discount * 100 & "%" EndSub
الدوارات Loops • نحتاج للتكرار في أغلب العمليات الهندسية والعلمية .... • يستخدم Visual Basic نوعين من الدوارات : • العداد Counter Loops For Loop • الدوارات المشروطة Conditional Loops while\ Do loop
الدوارة For .. Next تستخدم لتنفيذ خطوة أو مجموعة من الخطوات عدد محدد من المرات.. For counter = Satrtv To Endv [stepVal ] Command11 Command2 …… Next [counter] نهاية العداد معدل الزيادة بداية العداد عداد التحكم في عدد مرات التكرار
Example: ProtectedSub Page_Load(ByVal sender AsObject, ByVal e As System.EventArgs) HandlesMe.Load Dim i AsInteger For i = 1 To 5 TextBox1.Text = TextBox1.Text & vbNewLine & I Next i EndSub
Example: ProtectedSub Page_Load(ByVal sender AsObject, ByVal e As System.EventArgs) HandlesMe.Load Dim i AsInteger For i = 2 To 10 Step 2 TextBox1.Text = TextBox1.Text & vbNewLine & I Next i EndSub
جملة التكرارية while ….end while • في أحيان كثيرة نحتاج إلى تكرار عملية أو مجموعة عمليات لعدد غير معلوم من المرات طالما ظل شرط معين محققا.. • الصيغة العامة: • While condition • … • Commands …. • End while
Example: ProtectedSub Page_Load(ByVal sender AsObject, ByVal e As System.EventArgs) HandlesMe.Load Dim i AsInteger=2 while i<=10 TextBox1.Text = TextBox1.Text & vbNewLine & I i=i+2 end while EndSub
جملة التكرارية do ….loop • هذه الجملة تماثل جملة while .. • الاختلاف
الدوارة Do .. Loop • نوعين من الدورات المشروطة: • Do … loop While • Do … loop Until
تطبيق • قومي بكتابة برنامج يطلب من المستخدم إدخال سنتين ثم يقوم البرنامج بطباعة السنوات الكبيسة بين هاتين السنتين..
ProtectedSub Button1_Click(ByVal sender AsObject, ByVal e As System.EventArgs) Handles Button1.Click Dim x AsInteger = TextBox1.Text Dim y AsInteger = TextBox2.Text Dim i AsInteger For i = x To y If ((i Mod 4) = 0) Then TextBox3.Text = TextBox3.Text & vbNewLine & i EndIf Next EndSub