Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

المعاملات

جزء من قسم Fundamentals في رحلة C++ على Coddy — الدرس 52 من 74.

المعامل (argument) في الدالة هو قيمة تمررها إلى الدالة عند استدعائها. لإضافة معاملات إلى دالة، نكتبها داخل الأقواس ():

return_type method_name(data_type arg1, data_type arg2, ...) {
	// الكود
}

يمكننا تسمية الوسائط كما نريد ويمكننا كتابة أي عدد نحتاجه من الوسائط، طالما أن الأسماء تتبع قواعد تسمية المتغيرات القياسية: يجب أن تبدأ بحرف أو شرطة سفلية، ويمكن أن تحتوي فقط على أحرف وأرقام وشرطات سفلية — ولا تحتوي على رموز خاصة مثل / أو & أو !.

لاستدعاء دالة وتمرير الوسائط إليها نكتب:

method_name(value1, value2, value3, ...);

تمرير عدد كبير جداً من الوسائط إلى دالة تتوقع عدداً أقل من الوسائط سيؤدي إلى فشل البرنامج

مثال على الاستخدام:

void isEven(int number) {
	if (number % 2 == 0) {
		std::cout << number << " is even" << std::endl;
	} else {
		std::cout << number << " is odd" << std::endl;
	}
}
int main() {
    for (int i = 15; i < 34; i++) {
	    isEven(i);
	}
	for (int i = 153; i < 219; i++) {
	    isEven(i);
	}
    return 0;
}

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

ثم نقوم باستدعاء الدالة مرتين: مرة لجميع الأرقام بين 15 و34، ومرة ثانية لجميع الأرقام بين 153 و219.

challenge icon

التحدي

سهل

اكتب برنامجاً يستقبل عددين من نوع int كمدخلات. الأرقام المدخلة هي وسائط (arguments) الدالة. 

أنشئ دالة تستقبل وسيطين، وتحسب حاصل ضربهما، وتطبعه. قم بتسمية الدالة كما تشاء.

قم باستدعاء الدالة باستخدام هذه الأرقام المدخلة.

ملاحظة! في الكود الخاص بك، اكتب الدالة قبل عبارات استدعائها/تنفيذها.

ورقة مرجعية

وسائط الدالة (Function arguments) هي قيم يتم تمريرها إلى الدالة عند استدعائها. يتم تعريف الوسائط داخل الأقواس مع تحديد أنواع البيانات الخاصة بها:

return_type function_name(data_type arg1, data_type arg2, ...) {
    // code
}

يتم استدعاء الدالة عن طريق تمرير القيم كوسائط:

function_name(value1, value2, value3, ...);

مثال على دالة بوسيط واحد:

void isEven(int number) {
    if (number % 2 == 0) {
        std::cout << number << " is even" << std::endl;
    } else {
        std::cout << number << " is odd" << std::endl;
    }
}

int main() {
    isEven(15);  // calling function with argument
    return 0;
}

ملاحظة: تمرير عدد كبير جداً من الوسائط إلى الدالة سيؤدي إلى فشل البرنامج.

جرّب بنفسك

#include <iostream>

// تصريح الدالة


int main() {
    int a, b;
    std::cin >> a >> b;
    // استدعاء الدالة مع a و b كوسطاء
    
    return 0;
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Fundamentals