01-02-15, 01:03 PM
الدرس الثامن
* الدوال ( التوابع - Functions ) :
درس اليوم درس صعب و سهل في نفس الوقت يعني الدوال جزء خطير من أي لغة برمجة و بدونها سوف يتعب المبرمج و فهمها يتطلب الكثير من التركيز ( الجزء الصعب ) ، في نفس الوقت درسنا اليوم قليل السطور كثير الاكواد ( و هنا السهولة ) .
المهم ........... سيبك من الفوق و ركز معي :
الدالة : يقصد بالدالة هو مجموعة من السطور التي تؤدي غرض معين ، لم نفهم ... في الدروس السابقة تطرقنا لعدد من الدوال منها abs و swap و غيرهم الكثير فهذه كلها دوال نستدعيها و تنفذ امر محدد .
نسينا اهم دالة main الدالة الرئيسية فهي أيضا دالة مثل بقية الدوال .
-------------------------------------------
- مكونات أي دالة :
أي دالة بها مجموعة من الثوابت التي يجب ان تحفظها زي اسمك :
كود :
DataType FuncName(arg1 , arg2){
some code
return ;
}
2 - funcname - اسم الدالة و كما راينا في تسمية المتغيرات ، يستفضل اختيار أسماء مناسبة جدا هنا ، فالمتغير يمكن فهمه
اما الدالة فصعب يعني لو دالة حساب مساحة دائرة سميها circelArea وليس cra
سيبك من cra و ركز معي
3 - (arg1 , arg2) - الوسائط ، هل تتذكر جميع الدوال التي مرت علينا كلها كانت متبوعة بقوسين () و في داخلهم كنا نكتب الوسائط ... شوف هذا المثال
كود :
x.substr(2 , 5);
اذا الوسيط هي تلك القيم التي يدخلها المستخدم لكي ينفذ عليها الاكواد التي بداخل الدالة و قد لا تحتوي الدالة على وسائط
الامر يرجع لتفكيرك و للوظيفة او البرنامج الذي تصممه .
4 - some code - أي اكواد تعلمناها او سوف نتعلمها يمكن استخدامها حتى لو من مكتبات أخرى .
5 - return - تستعمل هذه الكلمة في حالة كان هناك قيمة تعود من الدالة ، يعني في برنامج اردنا حساب مساحة مستطيل
ثم نريد ان نستعمل هذه القيمة مثلا في إيجاد حجم متوازي مستطيلات عن طريق ضربها في الارتفاع هنا نجد ان الدالة عادة
يقيمة و هي مساحة المستطيل بعد ذلك يمكنك ضربها في الارتفاع .. أي شيء المهم المضمون .
6 - الاقواس { } و هي مهمة لحصر الكود .
--------------------------------------------
- أنواع الدوال :تماما كانواع المتغيرات
كود :
int func(int x){
return x;
}
double y(){
return y;
}
----------------------------------------
- الدوال التي تكتبها جميعا خارج main لا تكتب أي دالة داخل main فهذا غير صحيح -
----------------------------------------
الأمثلة
1 - دالة طباعة :كود :
void print(){
cout<<"hello world !";
}
int main(){
print();
return 0;
}
كما تلاحظ :
- هنا الدالة من النوع void أي انها لا تأخذ أي وسيط نسميها النوع العام .
- داخل دالة main نكتب اسم الدالة فقط و بين القوسين نكتب الوسائط ان وجدت .
================
نظرا لحجم الدرس الكبير
نتابع بقية الدرس في الجزء الثاني .. انتظرونا