Programming Basics SQL HTML CSS JavaScript Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Learn Typing

الخوارزمياتتعريف دوال جديدة

  • مفهوم الدوال
  • أنواع الدوال
  • طريقة تعريف دالة في الخوارزميات و في لغة جافا
  • أمثلة شاملة و بسيطة تعلمك كيف تعرف دالة ثم تستدعيها

مفهوم الدوال

دالة تعني Function أو Method في اللغة الإنجليزية.


ما هي فكرة الدوال؟

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


ماذا تعني كلمة دالة؟

الدالة في البرمجة عبارة عن كود جاهز يتنفذ فقط عندما تقوم بإستدعائه.
عندما تكتب إسم الدالة فهذا يعني أنك تطلب من البرنامج تنفيذ هذه الدالة.


ما هي فائدة الدوال في البرامج؟

للدوال فائدة مهمة جداً, لأنك في البرامج الفعلية مثلاً قد تستخدم نفس الكود ٢٠ مرة, فتخيل مثلاً لو أنك كلما ضغط على زر في برنامجك سيقوم البرنامج بتنفيذ نفس الكود الذي يتألف من ١٠ أسطر و برنامجك يحتوي على ٢٠ زر, فبدل أن تكتب نفس الـ ١٠ أسطر لكل زر من الـ ٢٠ زر, أكتبهم مرة واحدة بداخل دالة و إستدعي هذه الدالة مرة واحدة فقط لكل زر, هكذا تكون قد جعلت برنامجك أسرع و حجمه أصغر بكثير و هذا مهم جداً جداً في البرمجة.

أنواع الدوال

إلى كم نوع تقسم الدوال؟

يمكننا تقسيم الدوال لنوعين أساسيين:

  1. دوال نوعها void أي تنفذ كود معين فقط و لا ترجع قيمة, أي لا تفعل return.
  2. دوال لها نوع معين مثل int, double, String إلخ.. تنفذ كود معين و ترجع قيمة, أي تفعل return.


تعريف دالة نوعها void

في المثال التالي قمنا بتعريف دالة نوعها void و إسمها DisplayMyInfo().
إنتبه: عند تعريف دالة نوعها void لا نضع الكلمة return.

الخوارزمية

كود الجافا



تعريف دالة لها نوع محدد

في المثال التالي قمنا بتعريف دالة نوعها int و إسمها getNumber().
إنتبه: عند تعريف دالة لها نوع محدد, يجب أن تفعل return لقيمة من نفس نوعها.
هنا بما أن نوع الدالة هو int, فعلنا return لقيمة نوعها int أيضاً و التي هي 50.

الخوارزمية

كود الجافا



عند تعريف أي دالة نوعها ليس void على الكمبيوتر, سيظهر لك أن هناك خطأ في الكود مباشرةً أثناء تعريفها.
فعلياً هذا ليس خطأ لكنه سيظل يظهر أن هناك خطأ في الكود إلى تفعل return لأي قيمة في الدالة.



طريقة إختيار نوع الدالة التي تنوي تعريفها

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

هناك ثلاث إجابات محتلمة لهذا السؤال:

  1. تريد عرض شيء للمستخدم, هنا أنت بحاجة لأن يكون نوع الدالة void.
  2. تريد تغيير قيمة لمتغير, هنا أنت بحاجة لأن يكون نوع الدالة void.
  3. تريد إرجاع قيمة لها نوع محدد, هنا أنت بحاجة لأن يكون نوع الدالة هو النوع الذي تريد إرجاعه.

لا تقلق إذا لم تفهم كل شيء الآن لأنك ستفهم كل شيء بتفصيل لاحقاً من خلال الأمثلة.

طريقة تعريف دالة في الخوارزميات و في لغة جافا


خطوات تعريف دالة جديدة

  1. وضع public static من أجل لغة جافا فقط.
  2. تحديد نوع الدالة.
  3. إعطاء إسم للدالة.
  4. وضع قوسين ( ) من أجل الباراميترات التي يمكن وضعها للدالة (ستفهم المقصود في الدروس التالي).
  5. كتابة الأوامر التي ستتنفذ عند إستدعاء الدالة بين { }.


مكان تعريف دالة جديدة

عندما تريد أن تعرّف أي دالة, قم بتعريفها خارج حدود الدالة main() و ليس بداخلها, و عندما تحتاجها قم باستدعائها في الدالة main().
إذاً خارج حدود الدالة main() نقوم بتعريف أي دالة نريد, و عندما نريد تنفيذ أي دالة نقوم فقط باستدعائها في الدالة main() لكي يتم تنفيذها.



طريقة إستدعاء دالة معرّفة سابقاً

إستدعاء دالة تعني مناداة الدالة بإسمها حتى يتم تنفيذها.
لإستدعاء أي دالة قمت بتعريفها في الدالة main(), أكتب إسمها فقط و عندها يفهم الكمبيوتر أنك تريد تنفيذ الأوامر الموضوعة في هذه الدالة.

لا تقلق ستفهم كل شيء من خلال الأمثلة.



نقاط مهمة حول الدوال

  • عند تشغيل أي برنامج, يقوم الكمبيوتر أولاً بالبحث عن الدالة main(), و عندما يجدها يبدأ بتنفيذ الأوامر الموجودة فيها بالترتيب, أي لا ينتقل من أمر إلى آخر إلا إذا أنهى تنفيذ الأمر السابق.
  • لن يتم تنفيذ أي دالة أخرى غير الدالة main() ما لم تقم أنت باستدعائها بنفسك.
  • يمكنك تعريف العدد الذي تريده من الدوال في برنامجك.


مصطلحات تقنية

المصطلح بالعربية المصطلح بالإنجليزية معناها في البرمجة
إستدعاء call تعني كتابة إسم الدالة التي نريد أن يتم تنفيذ الأوامر الموضوعة فيها.
قفز jump هي مرحلة إنتقال سهم تنفيذ الأوامر إلى الدالة التي سيتم تنفيذها.
إرجاع return تعني إرجاع قيمة من نفس نوع الدالة.

لا تقلق إذا لم تفهم معنى هذه المصطلحات الآن لأنها ستمر معك في الأمثلة.

أمثلة شاملة و بسيطة تعلمك كيف تعرف دالة ثم تستدعيها

الهدف من هذه الأمثلة هو معرفة كيف تعمل الدوال و تسليط الضوء على الأخطاء التي يقع فيها معظم المبتدئين.
لذلك وضعنا الكود بلغة جافا فقط لأننا نريدك أن تفهم آلية العمل و تجرب الكود على الكمبيوتر كما هو لتفهمه أكثر.
في الدرس التالي ستتعلم كيف تعرف دوال جديدة كخوارزمية ثم تحولها إلى كود جافا كما كنا نفعل في الدروس السابقة.


المثال الأول

المثال التالي يعلمك طريقة بناء دالة مهمتها فقط عرض شيء للمستخدم.

شاهد المثال



المثال الثاني

المثال التالي يعلمك طريقة بناء دالة مهمتها فقط إرجاع قيمة للمستخدم.

شاهد المثال



المثال الثالث

المثال التالي يعلمك طريقة التعامل مع القيمة التي ترجعها أي دالة في المكان الذي تم إستدعاءها منه.

شاهد المثال

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


دورة تعلم البرمجة للمبتدئين >