المساعد الشخصي الرقمي

عرض الإصدار الكامل : الدوال في سي بلس بلس


ونة حزن
07-13-2006, 02:51 AM
تمتاز لغة السي++ بالعديد من المميزات التي جعلت البرمجيات منها افضل اداء واسهل تعديلاً وأسرع تصحيحاً للأخطاء في حال حدوثها بعد تنفيذ البرنامج
والسر في ذلك قد يتركز على تميز لغة السي++ بالترتيب حيث يكون الكود مرتبا ومقسماً و واضحاً لكل من يقرأه حين البحث عن الأخطاء أو الرغبة في تعديل البرنامج ويرجع ذلك الترتيب الى وجود الدوال التي بترابطها وتعاملها مع البعض في الحصول على النتائج يؤدي الى مخرجات ذلك البرنامج حيث ان هناك دالة اساسية تدعى المين التي لابد من وجودها لتنفيذ البرنامج , وتقوم المين بدورها في مناداة الدوال والحصول على مخرجاتها, ما هي المناداة: هي باختصار كما لو كان هناك مهندسا يعمل في مكتبه ولكنه عندما يريد عمل بعض الأعمال التي تتطلب الخروج من المكتب فأنه ينادي المتخصص في هذا العمل ويطلب منه اداؤه واحضار النتائج ,فيكون بذلك لديه عدد من الموضفين المتخصصين في عدد من المجالات التي يتعلق بها عمل هذا المهندس ليساعدوه على العمل ويحصلو على عمل دقيق مرتب, فهذا هو بالضبط عمل دالة المين: هي بمثابة المهندس والدوال الأخرى مساعدون.
مثال بسيط لبرنامج يستخدم الدوال للحصول على النتائج: لنفرض ان هناك برنامج يقوم بأداء العمليات الحسابية على الأعداد الجمع,الطرح,الضرب والقسمة فإنه يقوم بكتابة دالة لكل واحدة من هذه العمليات وترجع الدالة النتيجة.

ونة حزن
07-13-2006, 02:56 AM
طريقة تعريف الدوال::



Return_Type Function_Name ( Parameter_Type );//prototype


3 2 1

1= نوع القيمه التي سوف نحصل عليها من الدالة
2= اسم الدالة
3= نوع القيمة المرسله الي الدالة
مثال:
int factorial ( int a );
* مع ملا حظة ان الدوال في السي++ تستقبل العديد من القيم(المتغيرات) ولكن لا ترجع الا قيمة واحده.

بالمثال يتضح المقال:
البرنامج يجمع عددين داخل دالة المين:
int main()
{
int x, y, sum;
cin>>x >>y;
sum = x + y;
cout<<sum;
return 0;
}
باستخدام الدوال

int sum ( int , int );// لابد من تعريف الدالة قبل كتابة دالة المين وتوضع الفاصله في التعريف ولا تذكر اسماء المتغيرات وانما انواعها فقط ( الدالة تستقبل متغيرين وتقوم بإرجاع حاصل جمعهما) بدلا من كتابة الجمع داخل دالة المين
int main()
{
int x, y;
cout<<sum ( x, y );
return 0;
}

int sum ( int x, int y )//كتابة تفاصي الدالة ولا توضع الفاصلة وتذكر اسماء المتغيرات
{
return x+y;
}
تخيل لو كان البرنامج كبيراً ويقوم بعمليات ضخمة غير لكانت دالة المين طويلة ولصعب استخراج الخطأ عند حصوله
نستطيع استخدام جميع انواع المتغيرات للإرسالها واستقبالها ولكن يجب كتابة النوع كما ذكرت
الأنواع:double, int, floate, char ......

MSHAER
07-13-2006, 03:31 AM
الله يعطيك العافيه أختي

ونة حزن
07-13-2006, 03:40 AM
يعافيك ياعسل