يتم التشغيل بواسطة Blogger.

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


تحدثنا في الموضوع السابق عن الدوال. إذا لم تكن تعرف شيئ عن الدوال فيمكنك الرجوع الى الموضوع السابق من هنا. الدوال لديها عدة انواع وفي هذا الموضوع سنتعرف على الدوال function بدون قيمة معادة وكذلك طريقة الإرسال بالقيمة والارسال بالمرجع.


اولاً: دوال (function) بدون قيمة معادة - البرمجة بلغة C بلس بلس

وهي الدوال التي لا تحتوي على قيمة مرجعة إلى البرنامج.أي تنفذ ما في داخلها ولا تعيد أي قيمة إلى البرنامج قد تستقبل قيم لكنها لا تعيد أي قيمة وتعرف هكذا:


مثال: دالة (function) تقوم بطباعة رسالة معينة عند استدعائها..؟



الدالة اعلاة تطبع رسالة أي لا ترجع أي قيمة ولا تستقبل أي قيمة.


مثال : دالة تطبع رقم معين يتم إرساله لها؟



الدالة اعلاة تطبع قيمة ترسل لها أي تستقبل قيمة واحدة وال تعيد أي قيمة.




ثانياً: الارسال بالقيمة والارسال بالمرجع - البرمجة بلغة C بلس بلس


لارسال متغيرات إلى دالة يجب أن ترسل بأحد الطريقتين:

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


مثال: بناء دالة تعمل نفس عمل الدالة (pow) التي تجد قيمة الرقم مرفوع إلى أس (x^n) ولنسميها(powA) معناه هذه الدالة عربية فقط للتميز بينها وبين الاصلية والاثنان يؤديان نفس العمل.


لو تلاحظ تم إرسال قيم المتغيرين وليس المتغيرين نفسهما وهذا ما يسمى بالارسال بالقيمة أي أن المتغير(x,n) في الدالة ليس نفس المتغير (x,n) في البرنامج الرئيسي.


2- الارسال بالمرجع:  ترسل موقع المتغير إلى الدالة أي أن الدالة تستقبل المتغير نفسه المرسل بنفس الاسم أو بأسم اخر. أي إذا تغير قيمة المتغير داخل الدالة تتغير قيمته الاصلية داخل البرنامج لاننا أرسلنا موقعه إلى الدالة والتغير يكون في محتوى الموقع . وشكلها هكذا:


نضع (&) قبل كل (parameter) نريد أن نعيد التغير في قيمته للبرنامج بمعنى أننا سنستقبل الموقع. وفائدة الارسال بالمرجع هو أن الارسال بالقيمة لا يعيد أكثر من قيمة متغير واحد إلى البرنامج بينما بالارسال بالمرجع نستطيع أعادة أكثر من قيمة متغير إلى البرنامج.


مثال: دالة نرسل لها متغيرين وتقوم بضرب كل واحد منهما بخمسة؟



© جميع الحقوق محفوظة لدى تيك فيو - TechView