مفهوم الدوال والإجراءات
تستخدم الدوال والإجراءات لتقسيم المشكلة إلى مهام صغيرة وواضحة، بحيث يؤدي كل جزء وظيفة محددة داخل الحل.
🧩 لماذا نستخدمها؟
عند تطبيق Top-Down قد نصل إلى مهام فرعية مستقلة نسبيًا. بدل وضع جميع الخطوات داخل حل واحد طويل، يمكن تنظيم كل مهمة في دالة أو إجراء باسم واضح، ثم استدعاؤها عند الحاجة. هذا يجعل الحل أسهل في الفهم والاختبار والتعديل وإعادة الاستخدام.
🧮 الدالة Function
التعريف: جزء من الحل ينفذ مهمة محددة ثم يعيد قيمة إلى الجزء الذي استدعاه.
مثال: دالة تستقبل ثلاث درجات، تحسب المتوسط، ثم تعيد قيمة المتوسط.
احسب_المتوسط(الدرجات) ← قيمة المتوسط
⚙️ الإجراء Procedure
التعريف: مجموعة خطوات تنفذ مهمة محددة، ويكون الهدف منها تنفيذ عمل معين دون اشتراط إرجاع قيمة.
مثال: إجراء يعرض تقرير المتدرب أو يطبع رسالة على الشاشة.
اعرض_التقرير(الاسم، المتوسط)
الفرق بين الدالة والإجراء
| وجه المقارنة | الدالة | الإجراء |
|---|
| الهدف | تنفيذ مهمة والحصول على قيمة ناتجة | تنفيذ مهمة أو مجموعة خطوات |
| إرجاع قيمة | تعيد قيمة يستفيد منها باقي الحل | لا يشترط أن يعيد قيمة |
| مثال | حساب المتوسط وإرجاعه | عرض رسالة أو طباعة تقرير |
| الاستخدام داخل Top-Down | تمثيل مهمة فرعية تنتج قيمة | تمثيل مهمة فرعية تنفذ عملًا |
مثال متكامل: نظام نتيجة متدرب
نظام نتيجة المتدرب
إدخال الدرجاتإجراء لقراءة البيانات
حساب المتوسطدالة تعيد المتوسط
عرض النتيجةإجراء يعرض التقرير
1استدعاء الدالةترسل إليها القيم التي تحتاجها.
↓2تنفيذ الحسابتنفذ الدالة خطواتها الداخلية.
↓3إرجاع النتيجةتعيد الدالة قيمة مثل المتوسط.
ملاحظة للمذاكرة: الفرق التعليمي الأساسي هنا أن الدالة تعيد قيمة، بينما الإجراء ينفذ مهمة دون اشتراط إرجاع قيمة. قد تختلف المصطلحات أو طريقة الصياغة بين لغات البرمجة، لكن هذا هو المفهوم المقصود في هذه الوحدة.