1 / 65

برمجة 2

برمجة 2. المحاضرة الثانية – الاسبوع الثالث. Int (upperN-LowerN+1)* Rnd + LowerN ). التعامل مع الاجراءات والدوال Procedures and Function. الفصل الثاني. اجراء عرض لسماء الطالبات. مناداة Calling. البرنامج الاساسي Main Program. الاجراءات و الدوال.

elu
Download Presentation

برمجة 2

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. برمجة 2 المحاضرة الثانية – الاسبوع الثالث

  2. Int (upperN-LowerN+1)* Rnd + LowerN )

  3. التعامل مع الاجراءات والدوالProcedures and Function الفصل الثاني

  4. اجراء عرض لسماء الطالبات مناداة Calling البرنامج الاساسي Main Program

  5. الاجراءات و الدوال • مجموعة من التعليمات التي يتم تنفيذها عند نداء هذا الاجراء ثم يعود البرنامج الى تنفيذه العادي

  6. فوائد استخدام الدوال والاجراءات • سهولة اختبار الاجراء او الدالة على حده للتأكد من انه يعمل بصورة صحيحة • تجنب تكرار الكود بلا داع باستدعاء الاجراء عندما نحتاج اليه بدلاً من اعادة كتابه كل محتوياته • صيانة البرامج تصبح اسهل وذلك من خلال التعديل في مكان واحد ( الاجراء ) بدلا من التعديل على الاماكن التي تنادي عليه • انشاء مكتبه من الاجراءات الخاصة التي يمكن استخدامها في برامج مختلفة

  7. الاجراءاتProcedures

  8. أنواع الاجراءات الاجراءات الفرعيه هي التي يكتبها المستخدم بحسب احتياجاته الاجراءات الحدثية هي التي يستدعيها البرنامج عند وقوع حدث معين مثل تحميل نموذج ، النقر على زر أمر Button

  9. مثال على اجراء حدثي Private Sub Button1_Click(ByValsender AsSystem.Object, ByVale As System.EventArgs) Handles Button1.Click Dim num1, num2, num3 As Integer num3 = num2 + num1 MessageBox.Show(num3) End Sub

  10. مكان كتابه الاجراء الفرعي قبل كل الاجراءات بين الاجراءات بعد كل الاجراءات

  11. إ نشاء اجراء فرعي جديد ( الصيغة العامة) Sub procname ([arguments]) Statements End sub

  12. صيغ المناداة Calling • باستخدام Call Call Procname ([arguments]) 2. بذكر اسم الاجراء مباشره Procname ([arguments])

  13. مثال 1

  14. كتبه الاجراء SayHello SubSayHello() MessageBox.Show("Hello world") End Sub

  15. 2. كتابه برنامج الاساسي ومناداة الاجراء Private Sub Button1_Click(ByValsender AsSystem.Object, ByVale AsSystem.EventArgs) Handles Button1.Click Call SayHello() End Sub

  16. مثال 2

  17. 1. كتابه اجراء فرعي باسم Sum Sub sum(ByVal num1 AsInteger, ByVal num2 AsInteger) MessageBox.Show(num1 + num2) End Sub

  18. 2. كتابه برنامج الاساسي ومناداة الاجراء Private Sub Button1_Click(ByValsender AsSystem.Object, ByVale AsSystem.EventArgs) Handles Button1.Click Dim num1, num2 As Integer num1 = TextBox1.Text num2 = TextBox2.Text Call sum(num1, num2) End Sub

  19. مثال 3

  20. 1. كتابه اجراء فرعي باسم ShowStudent SubshowStudent(ByVal students () Asstring) For i = 0 To 4 TextBox1.Text = TextBox1.Text & student(i) & vbCrLf Next End Sub

  21. 2. كتابه برنامج الاساسي ومناداة الاجراء Private Sub Button1_Click(ByValsender AsSystem.Object, ByVale AsSystem.EventArgs) Handles Button1.Click Dim students(4) As String students(0) = " Nora Abdullah" students(1) = "sarasalem" students(2) = "AmerahMohd" students(3) = " Rana Saud" students(4) = " ArwaHamad" Call showstudent(students) End Sub

  22. ByVal and ByRef ByRef(Passing by Reference) البرنامح يمرر عنوان المتغير في الذاكرة الى الاجراء ByVal(Passing by Value) يتم عمل نسخة من متغير في مكان اخر من الذاكرة ليستخدمها الاجراء

  23. مثال ByVal

  24. البرنامج الاساسي Private Sub Form1_Load(ByValsender As System.Object, ByVal e AsSystem.EventArgs) Handles MyBase.Load Dim num1 As Integer num1 = 5 Label4.Text = num1 call addone(num1) Label6.Text = num1 End Sub

  25. كتابة الاجراء AddOne SubAddone(ByVal num1 As Integer) num1 = num1 + 1 Label5.Text = num1 End Sub

  26. مثال ByRef

  27. البرنامج الاساسي Private Sub Form1_Load(ByValsender As System.Object, ByVal e AsSystem.EventArgs) Handles MyBase.Load Dim num1 As Integer num1 = 5 Label4.Text = num1 call addone(num1) Label6.Text = num1 End Sub

  28. كتابة الاجراء AddOne Sub Addone(ByRef num1 As Integer) num1 = num1 + 1 Label5.Text = num1 End Sub

  29. الخروج من الاجراء • لسبب او لاخر تحتاج احيانا للخروج او مغادرة الاجراء دون تكميل تنفيذه • يتم ذلك باستخدام جملة Exit Sub

  30. مثال

  31. البرنامج الاساسي Private Sub Button1_Click (ByValsender As System.Object, ByVal e AsSystem.EventArgs) Handles MyBase.Load Dim num1, num2 As Integer num1 = TextBox1.Text num2 = TextBox2.Text (Call DivNum(num1, num2 End Sub

  32. كتابة الاجراء DivNum SubDivNum (ByValnum1 As Integer, ByVal num2 As Integer) If num2 = 0 Then Exit Sub MessageBox.Show(num1 / num2) End Sub

  33. الدوال Function

  34. الدوال Functions • تشبة الدوال الاجراءات تماماً • الفرق الوحيد بينهما ان الدالة Function ترجع قيمة عند استدعائها حيث يمكن تخزين هذه القيمة مباشره او استخدامها في تعبير مباشرة في البرنامج الاساسي.

  35. داله حساب مجموع مناداة Calling مجموع (يمكن استخدامه في البرنامج الاساسي) البرنامج الاساسي Main Program

  36. حساب مجموع الدرجات حساب مجموع الدرجات ثم حساب المتوسط حساب مجموع الدرجات ثم اختبار قيمة المجموع لتحديد التقدير

  37. مجموع الدرجات Sum mark اختبار قيمة المجموع لتحديد تقدير الطالب عرض نتيجة في MessageBox حساب المتوسط عن طريق قسمة مجموع الدرجات على 2

  38. إ نشاء دالة جديده ( الصيغة العامة) Statements End Function Function Funcname ([arguments]) As dataType

  39. خطوات مناداة الدالة Function • تعريف متغير لتخزين القيمة المرجعة من الداله ويكون من نفس نوع البيانات Dim x as datatype 2. مناداة الدالة Function X=funcname([arguments])

  40. مثال 1

  41. كتابة الدالة summarks Function summarks(ByValmark1 As Integer, ByValmark2 As Integer) As Integer summarks = 0 mark1 = TextBox1.Text mark2 = TextBox3.Text summarks= mark1 + mark2 End Function

  42. في منطقة General Dimmark1, mark2 As Integer Dim sum as integer

  43. داخل زر أمر «عرض مجموع الدرجات» sum = summarks(mark1, mark2) MessageBox.Show(sum)

More Related