البرمجة بلغة C: الدوال (Functions)
الدوال (Functions) هي كتل برمجية مستقلة تؤدي مهمة محددة. تساعد على تنظيم البرنامج وتقسيمه إلى أجزاء صغيرة قابلة لإعادة الاستخدام. كل برنامج C يحتوي على دالة رئيسية main() وقد يحتوي على دوال أخرى.
تعريف دالة
الصيغة العامة:
نوع_الرجوع اسم_الدالة(نوع معامل1, نوع معامل2, ...) {
// جسم الدالة
return قيمة; // إذا كان نوع الرجوع ≠ void
}
أنواع الدوال حسب القيمة الراجعة
- void: لا ترجع قيمة (تستخدم للطباعة أو التعديل)
- int, float, char, double, …: ترجع قيمة من النوع المحدد
مثال: دالة حساب المجموع
#include <stdio.h>
// تعريف الدالة
int somme(int a, int b) {
return a + b;
}
int main() {
int x = 10, y = 20;
int result = somme(x, y); // استدعاء الدالة
printf("المجموع = %d
", result);
return 0;
}
نقل المعاملات
- نقل بالقيمة (Pass by value): ترسل نسخة من القيمة، والتغييرات داخل الدالة لا تؤثر على المتغير الأصلي.
- نقل بالعنوان (Pass by address): ترسل عنوان المتغير باستخدام المؤشرات، والتغييرات تؤثر على المتغير الأصلي.
مثال: دالة للتبديل (Swap)
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
// الاستدعاء: swap(&x, &y);
تمارين
- اكتب دالة تحسب مضروب عدد (Factorial) باستخدام for
- اكتب دالة تتحقق إذا كان عدد أولياً أم لا
- اكتب دالة تحسب مساحة دائرة بمعلومية نصف القطر
- اكتب برنامجاً يستخدم دوالاً لإجراء العمليات الحسابية الأساسية (جمع، طرح، ضرب، قسمة)
خلاصة
الدوال تسمح بتقسيم البرنامج لوحدات صغيرة قابلة لإعادة الاستخدام. تتكون من: نوع الرجوع، الاسم، المعاملات، الجسم. void للدوال التي لا ترجع قيمة. النقل بالقيمة ينسخ البيانات، النقل بالعنوان يسمح بتعديل المتغيرات الأصلية.
📍 دروس مشابهة
- 📘 الإعلام الآلي — لغة C: المؤشرات Pointers — الثانية ثانوي (شعب علمية) — بكالوريا
- 📘 الإعلام الآلي — البرمجة: تطوير تطبيقات سطح المكتب بلغة C# — الثالثة
- 📘 المخطط الانسيابي — Flowchart — الإعلام الآلي — السنة الأولى متوسط — المنهاج الجز
مدونة التربية و التعليم في الجزائر – دروس، فروض، نتائج امتحانات مدونة التربية والتعليم في الجزائر | تحضير الدروس، فروض واختبارات، نتائج البكالوريا وBEM، مسابقات التوظيف، والتوجيه المدرسي للطلاب وأولياء الأمور.