انت هنا الان : شبكة جامعة بابل > موقع الكلية > نظام التعليم الالكتروني > مشاهدة المحاضرة

البرامج الفرعية

Share |
الكلية كلية العلوم للبنات     القسم قسم الحاسبات     المرحلة 1
أستاذ المادة احمد بدري مسلم الغزالي       6/1/2011 6:22:40 AM

البرامج الفرعية  Subprograms :

 

لو كان لدينا مهمة إيجاد قيمة الدالة التالية                 F(X,Y,Z)=

 

 

Subtasks

 

المهام الجزئية

 

إن الحل الأمثل لبرمجة هذه الدالة يتم بواسطة تقسيمها إلى مجموعة من المهام الجزئية subtask ومن ثم التدرج في تقسيم كل مهمة جزئية (إذا تطلب الأمر أي مازالت المهمـــــــــــة تحتوي على بعض التعقيد ) إلى أجزاء أخرى حتى ننتهي من التقسيم كالتالي :

 

 

 

        

Program find

 

F(X,Y,Z)

 

Read data X,n,Y,m,Z,w

 

Find value of

 

F(X,Y,Z)

 

Print value of

 

F(X,Y,Z)

 

Find  

 

Find   

 

Find   

 

Find X!

 

Find  Z!

 

Main task

 

المهمة الرئيسية

 

   

 

 

التقسيم أعلاه يبين بأن البرنامج سوف يصمم من المهمة الرئيسية ونزولاً الى المهام الجزئية , هذا التصميم يسمى بالتصميم من أعلى إلى أسفل Top-Down Design . وعملية تطوير البرنامج الذي يركز في بناءه على المهام الجزئية (الفرعية) تسمى بالبرمجة المهيكلة Structured Programming .

 

كل مهمة جزئية (فرعية) في البرنامج تسمى بالبرنامج الفرعي  subprogram , في لغة C++ تستخدم الدالة function كبرنامج فرعي . وتعرف الدالة بأنها مجموعة من الايعازات التي يمكن أن تستدعى من أي مكان في الدالة الرئيسية للأداء مهمة معينة . تتميز الدوال الفرعية (البرامج الفرعية) بأن لها نفس الهيكل العام للدالة الرئيسية  main من حيث تعريف المتغيرات وكتابة الايعازات . وكما بينا سابقا في الهيكل العام للبرنامج بأن موقع كتابة الدوال الفرعية functions يقع قبل الدالة الرئيسية main . ومن فوائد استخدام الدوال الفرعية :

 

1-     لتبسيط المشكلة المراد حلها وذلك بواسطة تقسيمها إلى مهام جزئية (دوال فرعية) أبسط يسهل برمجتها .

 

2-     تقليل حجم البرنامج : في بعض الأحيان نضطر في البرنامج إلى تكرار مقطع أو أكثر عدد من المرات , لذلك فأن البرامج الفرعية (الدوال الفرعية) تساعدنا بأن نستدعي هذا المقطع في كل مرة بواسطة خطوة واحدة فقط  .

 

 

الهيكل العام للدالة Function   :

 

 

Return_type_value     function_name( parameters list)

 

{

 

   Local variables declarations

 

   Statements code

 

   Return  <value>

 

 }

 

 

ملاحظات :

 

1- نوع القيمة الراجعة    return_type_value : وهي تشمل النوع البياني للقيمة التي ترجعها

 

    الدالة الى البرنامج الرئيسي , مثل int ,char, flaot,void .

 

2-اسم الدالة Function_name : وهو اسم الدالة الذي يتم تسمية الدالة به من قبل المبرمج

 

   والذي يجب ان يكون اسم معرف identifier .

 

3- قائمة المعاملات parameters list : وهي تشمل قائمة المتغيرات المستلمة من الدالة

 

   الرئيسية .

 

4-تعريف المتغيرات المحلية  local variable declaration : وهي تمثل المتغيرات المعرفة 

 

   داخل الدالة حسب حاجة المبرمج , وبنفس الطريقة المجودة في الدالة main .

 

5- جزء كتابة جمل الدالة   statements code : وهي تشمل الجمل البرمجية الخاصة بالدالة .

 

6- القيمة الراجعة  return <value> : وهي تمثل القيمة التي سوف ترجعها الدالة إلى الدالة

 

    الرئيسية  main , وهذه القيمة يجب ان تكون من نفس نوع الدالة المعرفة في بدايتها . يمكن

 

    للدالة أن لا ترجع قيمة  إذا كان نوعها   void .

 

7- تتميز الدوال الفرعية في لغة C++ بأنها ترجع قيمة واحدة فقط  أو لا ترجع شيء .

 

 


المادة المعروضة اعلاه هي مدخل الى المحاضرة المرفوعة بواسطة استاذ(ة) المادة . وقد تبدو لك غير متكاملة . حيث يضع استاذ المادة في بعض الاحيان فقط الجزء الاول من المحاضرة من اجل الاطلاع على ما ستقوم بتحميله لاحقا . في نظام التعليم الالكتروني نوفر هذه الخدمة لكي نبقيك على اطلاع حول محتوى الملف الذي ستقوم بتحميله .
الرجوع الى لوحة التحكم