النهاردة حابب اوضح احد المصطلحات اللي بتقابلنا اثناء دراسة البرمجة وهى الدوال او function وفى بعض اللغات يطلق عليها methods .
سيتم توضيح الدوال من خلال شرح عدة نقاط وهى :
- تعريف الدوال .
- اسباب استخدام الدوال .
- طريقة كتابة الدوال .
- طريقة عمل او استدعاء الدوال .
- انواع الدوال
اولا : تعريف الدوال
الدوال ببساطة عبارة عن بلوك او مجموعة من الاسطر البرمجية ذات علاقة فيما بينها .
مثال للتوضيح :
دالة جمع رقمين فهى تحتوى فقط على انشاء المتغيرات المستخدمة فى عملية الجمع بالاضافة الى عرض نتيجة عملية الجمع .
ثانيا : اسباب استخدام الدوال
فى بعض الاحيان اثناء كتابة البرنامج نجد جزء من الكود ممكن ان نحتاجة فى اكثر من مكان داخل البرنامج فبدلا من نسخ هذة الاكواد فى هذة المقاطع من الكود يتم استخدام الدوال .
حيث يتم انشاء الدالة مرة واحدة وكتابة مجموعة من الاسطر البرمجية بداخلها وعند الرغبة فى استخدام هذة الاكواد داخل البرنامج يتم ذلك فقط من خلال كتابة اسم الدالة .
او بمعنى اخر فان الهدف من الدوال هو اعادة استخدام الكود .
ثالثا: طريقة كتابة الدوال
طريقة كتابة الدوال تختلف من لغة لاخرى الا ان اغلبها تتفق فى انها تبداء اولا بتعريف الدالة ثم يتم كتابة مجموعة من الاسطر البرمجية الخاصة بالدالة او مايعرف بجسم الدالة او body
function functionName( ) {
}
نبداء عادة بكتابة الكلمة المحجوزة function يليها اسم الدالة وفى بعض اللغات يسبق اسم الدالة تحديد نوع القيمة المرجعة منها مثل الجافا .
يلى اسم الدالة قوسين ( ) وهذة الاقواس هى عبارة عن براميتر الدالة او بمعنى اخر هى عبارة عن معطيات يتم اعطائها للدالة لاستخدامها اثناء عمل الدالة .
فى النهاية يتم فتح اقواس المجموعة { } وهنا يتم كتابة جسم الدالة او مجموعة الاسطر البرمجية الخاصة بالدالة .
رابعا: طريقة عمل او استدعاء الدالة
الدالة كما ذكرنا سابقا يتم انشائها مرة واحدة بينما يتم استدعها اكثر من مرة فقط من خلال كتابة اسم الدالة
FunctionName( )
خامسا: انواع الدوال
- هناك دوال لا تقوم بارجاع قيمة
مثل الدالة التى تقوم فقط بجمع رقمين ثم تطبع نتيجة الجمع .
- وهناك دوال تقوم بارجاع قيمة
مثل الدالة التى تقوم بجمع رقمين ثم ارجاع نتيجة الجمع لاستخدامها فى اجراء عمليات اخرى .
وهنا يتم استخدام كلمة return بالاضافة الى انه عند استخدام الدالة يجب استقبال القيمة المرجعة من هذة الدالة فى متغير .
بقلم مهندس / Fawzy Syam