التعامل مع الباراميترات في الخوارزميات
جدول المحتويات
التعامل مع الباراميترات في الخوارزميات
التعامل مع الباراميترات في الخوارزميات
التعامل مع الباراميترات في الخوارزميات
التعامل مع الباراميترات في الخوارزميات
مفهوم الباراميتر
باراميتر تعني Parameter في اللغة الإنجليزية. الباراميتر عبارة عن متغير من أي نوعمثل ( int
أو double
أو String
.. ), يتم تعريفه بين أقواس الدالة.
في المثال التالي قمنا بتعريف دالة إسمها Demo()
, نوعها int
, تملك باراميتر واحد نوعه int
و إسمه a
, و ترجع القيمة 0.
مثال
{
return 0;
}
هل أنت مجبر على وضع باراميتر للدالة؟
كلا أنت لست مجبر, و إنما تضع باراميتر إذا كنت بحاجة له.
لاحظ أننا قمنا بتعرف الدالة Demo()
من جديد بدون إعطائها أي باراميتر.
مثال
{
return 0;
}
هل بإمكانك أن تضع أكثر من باراميتر للدالة؟
نعم بإمكانك وضع العدد الذي تريده من الباراميترات, شرط أن تحدد نوع كل باراميتر تقوم بإضافته و أن تضع فاصلة بين كل باراميترَين.
في المثال التالي قمنا بتعريف دالة إسمها Demo()
, نوعها void
, و تملك الباراميترات التالية:
- الباراميتر الأول إسمه
a
و نوعهint
. - الباراميتر الثاني إسمه
b
و نوعهdouble
. - الباراميتر الثالث إسمه
c
و نوعهString
. - الباراميتر الرابع إسمه
d
و نوعهboolean
.
مثال
{
}
ما هي الفائدة من الباراميترات و لم قد أحتاجهم؟
فائدة الباراميترات أنك من خلالهم تجعل المستخدم يدخل قيمه الخاصة في الدالة فتتغير النتيجة التي ترجعها الدالة حسب القيم التي يقوم هو بإدخالها.
هل يمكن وضع قيم أولية للباراميترات؟
كلا, لا يمكن وضع قيم أولية للباراميترات, لأن فكرة الباراميترات الأساسية هي أن يتم إعطائهم القيم عند الإستدعاء.
إذاً, عند تعريف الباراميتر بداخل الدالة, لا يمكن وضع قيمة أولية له.
أما عند إستدعاء الدالة, فإنه يجب تمرير قيمة مكان كل باراميتر موضوع فيها.
مثال يوضح طريقة التعامل مع الباراميترات و فائدتهم
في المثال التالي قمنا بتعريف دالة إسمها Sum()
, نوعها void
, تحتوي على باراميترَين نوعهما int
إسمهم a
و b
.
مهمة هذه الدالة هي طباعة ناتج جمع أي عددين صحيحين نضعهما فيها عند إستدعائها.
كود الجافا
- package parameters;
- public class Parameters {
- public static void Sum (int a, int b)
- {
- System.out.print(“The sum is: “ + (a+b) + “\n”);
- }
- public static void main (String[] args)
- {
- Sum(3, 4);
- Sum(5, 9);
- Sum(10, 20);
- }
- }
شرح الكود
-
- الهدف من هذا المثال هو توضيح فكرة أن الباراميترات تجعل النتيجة التي ترجعها الدالة تتغير على حسب القيم التي ندخلها فيها عند إستدعائها.
- public static void Sum (int a, int b)
- {
- System.out.print(“The sum is: “ + (a+b) + “\n”);
- }
- هنا قمنا بتعريف دالة إسمها
Sum()
و مهمتها طباعة ناتج جمع أي عددين صحيحين نضعهما فيها عند إستدعائها. - إذاً عند إستدعاء هذه الدالة يجب أن نمرر لها عددين صحيحين بين أقواسها, و عندها سحدث التالي:
- سيقوم الكمبيوتر بوضع هذين العددين في المتغيرَين
a
وb
بنفس الترتيب. - بعدها سيقوم بتنفيذ أمر الطباعة الموضوع في الدالة و الذي يقضي بعرض ناتج جمع العددين الموجودين في المتغيرَين
a
وb
- public static void main (String[] args)
- {
- Sum(3, 4);
- Sum(5, 9);
- Sum(10, 20);
- }
- سيقوم الكمبيوتر بوضع هذين العددين في المتغيرَين
- هنا قمنا باستدعاء الدالة
Sum()
ثلاث مرات, و كل مرة قمنا بإعطائها عددين مختلفين, و بالتالي سيعمل الكود كالتالي:- أول مرة: وضعنا فيها القيمتين 3 و 4 و بالتالي سيتم عرض ناتج جمع العددين هكذا:
The sum is: 7
- ثاني مرة: وضعنا فيها القيمتين 5 و 9 و بالتالي سيتم عرض ناتج جمع العددين هكذا:
The sum is: 14
- ثالث مرة: وضعنا فيها القيمتين 10 و 20 و بالتالي سيتم عرض ناتج جمع العددين هكذا:
The sum is: 30
- أول مرة: وضعنا فيها القيمتين 3 و 4 و بالتالي سيتم عرض ناتج جمع العددين هكذا:
إنتبه
أي باراميتر أو متغير عادي تنشئه في حدود الدالة يعتبر خاص لها, أي لا تستطيع التعامل معه بشكل مباشر من خارج حدود الدالة.
الفرق بين الكلمتين Parameter و Argument
أثناء تعريف الدالة, المتغيرات التي نقوم بتعريفها بين أقواسها تسمى Parameters.
بينما عندما نقوم باستدعاء الدالة و نعطيها قيم مكان كل باراميتر موضوع فيها, هذه القيم تسمى Arguments.
مثال
{
System.out.print(“The sum is: “ + (a+b) + “\n”);
}
-
- هنا المتغيرين
a
وb
يعتبروا Parameters بالنسبة للدالة.
- هنا المتغيرين
{
Sum(3, 4);
}
- هنا القيمتين 3 و 4 يعتبروا Arguments بالنسبة للدالة.
المصدر: التعامل مع الباراميترات في الخوارزميات – المناهج السعودية