الدوال Function - تعلم البرمجة بلغة C بلس بلس


تطرقنا في ما مضى على عدد كبير من الدوال الخاصة بلغة ( ++c) وبينا طريقة استخدامها ومنها دالة (power) التي تستخدم لإيجاد قيمة الرقم المرفوع إلى قوى . وهذه الدوال كلها مصممة من قبل مصممي لغة ( ++c) لكي يسهل العمل على المبرمجين فبدل أن يكتب المبرمج عدد من الأسطر لإيجاد قيمة رقم المرفوعة إلى قوى على سبيل المثال إذا أردنا قيمة خمسة مرفوع إلى قوى ثلاثة(5^3) بدون دالة (power) نجدها هكذا:


يحلها مباشرة باستخدام الدالة (pow):


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



الهيكلية العامة لبناء الدوال بلغة C بلس بلس



- Type:هو نوع القيمة التي سوف ترجعها الدالة (function) بعد أن تنتهي من عملها .لان الدوال تكون على نوعين:

1- الاولى الدالة التي تعيد قيمة بعد استدعائها وتكون بالشكل التالي عند استدعائها ويجب أن تحتوي على(return) لتعيد قيمة للبرنامج


وبما أنها تعيد قيمة يجب خزن القيمة المعادة في متغير بنفس نوع القيمة المعادة اي لو كان نوع القيمة المعادة هو (integer) يجب أن يتم تعريف (reslt) على انه متغير من نوع (integer) لتخزن به نتيجة القيمة المرجعة.


2- الثانية الدالة التي لا تعيد أي قيمة للبرنامج تستدعى لتنفذ ما في داخلها وينتهي كل شيء ولاتحتوي في داخلها على (return) لانها لا تعيد أي قيمة وطريقة استدعائها في البرنامج فقط نكتب اسم الدالة هكذا:


- name: هو اسم الدالة (function) ويمكن أن يكون أي اسم لكن للوضوح اجعل اسم الدالة دالاً على عمل دالتك فلو بنيت دالة تجمع رقميين فسمي الدالة (addition) حتى تكون واضحة.

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


كما تلاحظ في الاستدعاء فانة كان بالتسلسل حيث تم إسناد قيمة (parameter2= var2, parameter1= var1)

- Statement :هي العملية المراد من الدالة تنفيذها عند استدعائها.

- نقاط اساية يجب عليك معرفتها:

1- المتغيرات المعرفة داخل الدوال تنتهي حياتها بانتهاء تنفيذ أخر سطر في الدالة. أي لو كان متغير(i) في الدالة أصبحت قيمته (i=5) عند انتهاء تنفيذ الدالة فعند استدعاء الدالة مرة أخرى لا تكون قيمته خمسة لان حياته انتهت بانتهاء الاستدعاء السابق وعاد إلى قيمته الاولية قبل التغير.

2- تكتب الدالة بعد تعريف المكتبات مباشرتاً. 

3- الدالة التي تتم كتابتها تعامل داخل البرنامج حالها كحال أي دالة من دوال اللغة.

مثال عن الدوال Function بلغة C بلس بلس

مثال: دالة (function) تقوم بجمع رقميين وتعيد النتيجة إلى البرنامج..؟

من السؤال نفهم أن هذه الدالة تحتوي على (parameter) اثنان كل واحد خاص برقم معين وتعيد قيمة من(integer) وهي النتيجة.


تيك فيو - Tech View
تيك فيو - Tech View
انطلق موقعنا في العام 2017 ومنذ ذلك اليوم الى يومنا هذا، نقدم دروس ومحتوى تقني ، يهدف إلى إثراء المحتوى التقني العربي ، وتعزيزه بمحتوى هادف ومفيد.