|
|
🧠 الدرس الأول: تمرير المعاملات في الدوال البرمجية
|
|
مقدمة
|
|
|
في عالم البرمجة، تُعد الدوال (Functions) من أهم الأدوات التي تساعدنا على تنظيم الكود وإعادة استخدامه. ولكن لكي تكون هذه الدوال مرنة وقابلة للتخصيص، نحتاج إلى تمرير "معاملات" إليها — أي قيم تدخل إلى الدالة لتقوم بمعالجتها. في هذا الدرس، سنستعرض كيف يمكننا تمرير أكثر من معامل إلى دالة، باستخدام مثال بسيط من مشروع آلة حاسبة.
|
|
🛠️ مراجعة لما سبق
|
|
|
في الفصل السابق، أنشأنا دالة باسم run تأخذ معاملًا واحدًا فقط، وهو اسم العملية التي نريد تنفيذها. على سبيل المثال:
|
|
|
|
|
|
هذا الاستدعاء كان يشير إلى أننا نريد مضاعفة رقم، ولكن لم نحدد الرقم نفسه! لذا، في هذا الفصل، سنطوّر الدالة لتأخذ معاملًا ثانيًا: الرقم الذي نريد مضاعفته.
|
|
✨ تطوير الدالة: إضافة معامل ثاني
|
|
|
الهدف الآن هو أن نتمكن من كتابة:
|
|
|
|
|
|
لكي نحقق ذلك، نحتاج أولًا إلى تعديل دالة double لتقبل رقمًا وتقوم بمضاعفته:
|
|
|
|
|
|
ثم نعدل دالة run لتقوم بتمرير هذا الرقم إلى الدالة double:
|
|
|
|
|
|
الآن، عندما نستدعي:
|
|
|
|
|
|
فإن الدالة run ستقوم باستدعاء double(4)، والتي بدورها ستعيد القيمة 8.
|
|
🧩 لماذا لم يكن الكود يعمل سابقًا؟
|
|
|
في النسخة غير المكتملة من الكود، كنا نكتب:
|
|
|
|
|
|
وهذا يعني أننا نستدعي الدالة double بدون تمرير أي قيمة لها، رغم أنها تحتاج إلى معامل x. لذلك، لم يكن الكود يعمل كما هو متوقع.
|
|
📌 خلاصة الدرس
|
|
- يمكن للدوال أن تستقبل معاملات (Parameters) لتقوم بمعالجتها.
- يمكن تمرير هذه المعاملات من دالة إلى أخرى.
- يجب التأكد من تمرير القيم المطلوبة عند استدعاء الدوال، وإلا فلن تعمل بالشكل الصحيح.
|
|
|
|
🧠 الدرس الثاني: تنفيذ عمليات متعددة باستخدام المعاملات
|
|
مقدمة
|
|
|
بعد أن تعلمنا في الدرس السابق كيفية تمرير المعاملات إلى الدوال، حان الوقت لتوسيع نطاق العمليات التي يمكن تنفيذها. بدلًا من الاكتفاء بعملية واحدة مثل "double"، سنضيف إمكانية تنفيذ عمليات متعددة مثل "double" و"triple" باستخدام نفس الدالة run.
|
|
🧪 تعريف العمليات
|
|
|
نبدأ بتعريف دالتين بسيطتين:
|
|
|
|
|
|
كل دالة تستقبل رقمًا وتعيد ناتج مضاعفته أو ثلاثيته.
|
|
🧠 منطق اتخاذ القرار داخل الدالة run
|
|
|
نريد أن تكون الدالة run ذكية بما يكفي لتقرر أي دالة تستدعي بناءً على اسم العملية. في البداية، كان شكلها هكذا:
|
|
|
|
|
|
لكن هذا الكود لا يعمل كما ينبغي، لأنه لا يمرر الرقم المطلوب إلى الدالتين double أو triple.
|
|
🔧 التعديل المطلوب
|
|
|
نحتاج إلى تعديل الدالة run لتستقبل معاملًا ثانيًا، وهو الرقم الذي نريد تطبيق العملية عليه، ثم تمرره إلى الدالة المناسبة:
|
|
|
|
|
|
الآن يمكننا استخدام الكود بهذا الشكل:
|
|
|
|
|
⚠️ أهمية الكلمة المفتاحية return
|
|
|
عند استدعاء دالة من داخل دالة أخرى، من الضروري استخدام الكلمة المفتاحية return لإرجاع النتيجة. إذا نسينا كتابتها، فإن الدالة run لن تعيد أي قيمة، وستكون النتيجة undefined.
|
|
|
مثال توضيحي:
|
|
|
|
|
|
الحل:
|
|
|
|
|
📌 خلاصة الدرس
|
|
- يمكن للدالة run أن تنفذ عمليات مختلفة بناءً على اسم العملية.
- يجب تمرير المعامل المناسب إلى الدالة المطلوبة.
- لا تنسَ استخدام return لإرجاع النتيجة من الدالة.
|
|
|
|
📘 ملخص الفصل: تمرير المعاملات بين الدوال
|
|
- ✅ يمكنك تمرير المعاملات (Parameters) من دالة إلى أخرى، مما يجعل الكود أكثر مرونة وقابلية لإعادة الاستخدام.
- 🔁 عند استدعاء دالة من داخل دالة أخرى، تأكد من استخدام الكلمة المفتاحية return لإرجاع نتيجة الدالة المستدعاة
- ⚠️ إذا نسيت كتابة return، فإن الدالة لن تعيد أي قيمة، وستكون النتيجة undefined.
|
|
التعليقات