امثلة على function في C++
تعريف ال function في لغة C++
تعرف الـ function في C++ باسم الدالة، وتتألف من مجموعة من الأوامر التي تستقبل المدخلات وتقوم بمعالجتها وتنتج النتائج. تتمحور فكرة الـ function حول تجميع المهام الشائعة التي تتكرر بشكل متكرر، حيث إنه في حالة وجود مدخلات مختلفة، لن تحتاج إلى كتابة نفس الشفرة مرة أخرى، بل يمكنك استدعاء الدالة مع مجموعة مختلفة من البيانات المعروفة باسم المعلمة.
يحتوي كل برنامج C++ على دالة واحدة على الأقل، ويكون اسمها الرئيسي main()، حيث يمكنك تقسيم التعليمات البرمجية إلى وظائف مختلفة بحيث تقوم كل دالة بمهمة محددة، وهناك العديد من الدوال في لغة C++ القياسية، مما يتيح لك استدعاء هذه الدوال داخل برنامجك.
ما هى لغة C++
لغة C++ هي اللغة البرمجية الأشهر في العالم، وهي مشتركة بين الأنظمة الأساسية، حيث يمكن استخدامها في إنشاء تطبيقات عالية الأداء، وقد تم تطويرها كامتداد للغة C من قبل المبرمج الدنماركي بيارن ستروستروب، مما يتيح للمبرمجين الحصول على الأساسيات لتعلم البرمجة والتحكم في ذاكرة النظام وموارده، وتم تحديثها ثلاث مرات لتصبح C++11 و C++14 و C++17 خلال الأعوام 2011 و 2014 و 2017.
لماذا تستخدم الـ function
توجد العديد من الفوائد المرتبطة باستخدام الدوال أو الـ function، وتشمل ما يلي:
- يتم وضع جميع دوال التعليمات البرمجية ذات الصلة معًا، مما يجعل من السهل على المبرمجين فهم الكود.
- تساعد الدوال على جعل عملية البرمجة أسهل من خلال إلغاء تكرارات الكود.
- يسهل إعادة استخدام الكود، حيث يمكن استدعاء نفس الدالة لأداء مهمة ما في أجزاء مختلفة من البرنامج أو خارجه.
- يمكن استخدام الوظائف المدمجة في C++ دون الحاجة لكتابة الوظائف بنفسك
امثلة عن دوال function في C++
هناك تشكيلة كبيرة من أنواع الدوال في لغة سي بلس بلس، وتختلف وظيفة كل منها عن الآخرة
أولا : مثال عن الدوال المدمجة Built-in Functions
- يتم تضمين ملف iostream في البرنامج باستخدام #include
. - يتم استخدام مكتبة cmath لاستخدام وظائفها، ثم يتم استخدام الدالة المحددة sqrt() التي يتم تضمينها باستخدام `#include
` . - ضمِّن مساحة الاسم std في شفرتك البرمجية لتستطيع استخدام فئاتها بدون استدعائها، عبر استخدام التعليمة `using namespace std#` .
- يتم استدعاء الدالة الرئيسية () ثم إضافة اسم البرنامج داخل هذه الدالة ().
- يجب تحديد متغيرين مزدوجين، num و squareRoot
- اطبع بعض النص على وحدة التحكم حيث يطلب من المستخدم إدخال رقم.
- عليك قراءة ما يدخل من المستخدم عبر لوحة المفاتيح، وذلك لجعل الإدخال يكون قيمة للمتغير num.
- الآن، قم بإستدعاء دالة المكتبة sqrt() التي تحسب الجذر التربيعي للرقم.
- سوف يتم حساب الجذر التربيعي لـ num باستخدام الدالة المعرفة في مكتبة cmath.
- تُطبع الرقم الذي يُدخلهالمستخدم وجذره التربيعي، أي squareRoot، بالإضافة إلى بعض النصوص الأخرى على وحدة التحكم.
ثانيا : مثال عن دالة تحديد المستخدم User-Defined Functions
تسمح لغة C++ للمبرمجين بتعريف وظائفهم الخاصة، والهدف من ذلك هو تجميع التعليمات البرمجية ذات الصلة معًا ثم إعطاء الرمز واسم الدالة.
- قم بفتح ملف iostream في البرنامج.
- يتم تضمين مساحة الاسم std في التعليمات البرمجية الخاصة بالفئات من أجل استخدامها دون الحاجة إلى استدعائها.
- انشئ دالة بإسم sayHello() لمعرفة المستخدم.
- اطبع بعض النص على وحدة التحكم عند استدعاء وظيفة sayHello().
- لتشغيل البرنامج، يجب على المستخدم استدعاء الدالة الرئيسية () ووضع اسم البرنامج داخل هذه الدالة.
- قم بإستدعاء الوظيفة sayHello ().
ثالثاً : كيفية كتابة واستدعاء دالة How to Write and Call a Function
- أولا فتح ملف iostream في البرنامج.
- يتم تضمين مساحة الاسم `std` في التعليمات البرمجية الخاصة.
- يتم تعريف دالة باسم addFunc()، وهذا هو نموذج الدالة الأولي.
- استدعِ العملية الرئيسية () وأضف اسم البرنامج داخل الدالة.
- يتم تعريف ثلاثة متغيرات، x وy والمجموع sum.
- اطبع بعض النص على وحدة التحكم، وهنا سيطلب النص من المستخدم إدخال رقمين.
- يتم تسجيل مدخلات المستخدم مع التحقق من إدخال رقمين متغيرين x و y بفاصلة بينهما.
- يتم استدعاء الدالة addFunc() وإدخال x و y إليها، حيث تقوم الدالة بعملية حسابية على هذه المدخلات وتعيد النتيجة إلى المتغير الذي يحمل مجموعها.
- يجب طباعة قيم المتغيرات x و y و sum على وحدة التحكم جنبًا إلى جنب مع نص آخر.
- يتعين إرجاع قيمة الدالة عند اكتمالها بنجاح.
ماهي البرمجة
تعد لغات البرمجة وسيلة لتوجيه التعليمات لجهازك الخاص، حيث تستخدم أساسا للتحكم في أداء الجهاز أو التعبير عن الخوارزميات، وتم تطوير وتنفيذ الآلاف منها في مجال الحوسبة، وتحدد بعض لغات البرمجة بواسطة معيار SO مثل لغة C، ولكن هناك اختلافات بين لغات البرمجة تعتمد على نوع كل لغة، وهناك العديد من المواقع التعليمية لتعلم لغات البرمجة للمبتدئين لفهم الاختلافات بينها.
أنواع البرمجة
لغة C ++
تستخدم في المشاريع الكبيرة حيث يتمكن المبرمجون من التعاون في برنامج واحد في أجزاء مختلفة أو حتى العمل الفردي في كل جزء من البرنامج، وتسمح أيضا بإعادة استخدام الكود عدة مرات، وهي من مميزات لغة c++، وتعد أيضا أحد أشهر أنواع لغات البرمجة المعروفة.
لغة C
تُعتبر لغة C لغة برمجة شائعة جدًا وأساسية، خاصة في برمجة الألعاب، ونظرًا لأن لغة C++ تشتمل على إضافات للغة C، فإن المبرمجين يستخدمونها لتحقيق سرعة أفضل في البرامج، كما يمكن إعادة استخدام لغة C++ مع لغة C لتحقيق زيادة في الكفاءة والأداء.
لغة باسكال “Pascal”
تعد لغة باسكال لغة برمجة مصممة للتعليم وتستخدمها عدد قليل من الصناعات لكتابة البرامج، وتميل إلى استخدام الكلمات الأساسية بدلاً من الرموز والأقواس المستخدمة في لغة C، وبالتالي فهي سهلةجدًا للمبتدئين في فهمها وتعلمها أكثر من لغة البرمجة C و Borland.
لغة فورتران “Fortran”
لا يزال علماء الحاسوب يستخدمون لغة فورتران للبرمجة، حيث تسمح بحجم مختلف للمتغيرات تصل إلى حد الذاكرة في الجهاز، وتتناسب مع المهندسين الذين يحتاجون إلى حساب القيم بدقة عالية.
لغة جافا “Java”
لغة الجافا هي لغة أساسية متعددة الاستخدامات. تستخدم هذه اللغة بشكل رئيسي على الويب مع تطبيقات الجافا الصغيرة وتستخدم أيضا في تصميم برامج عبر أنظمة الكمبيوتر الأساسية. ونظرا لأنها تشبه لغة C++ في الهيكل والصياغة، فإنها سهلة جدا لمبرمجي C++ لتعلمها. توفر بعض المزايا مثل إعادة الاستخدام، وتمت تحسين سرعة لغة الجافا في الإصدار 1.5 مع بعض الميزات الجيدة لإنشاء برامج سهلة.
لغة بيرل “Perl”
لغة Perl هي لغة إدارة ملفات لنظام UNIX، وتستخدم لأغراض البحث عن النص وتنفيذ وظائف الخادم وقواعد البيانات الأخرى، ومن السهل جدا تعلم الأساسيات إذا كان لديك أي خبرة في أي لغة أخرى
لغة PHP
تستخدم لغة PHP في تصميم صفحات الويب وأحيانًا كلغة برمجة نصية، حيث تم تصميم هذه اللغة لتطوير مواقع ويب سريعة، ولذلك تضمنت ميزات تجعل من السهل إنشاء رؤوس HTTP والاتصال بقواعد البيانات.
لغة LISP
تستخدم لغة LISP بشكل رئيسي في أبحاث علوم الكمبيوتر وتقوم بتخزين جميع البيانات في قوائم مثل المصفوفات، وتتميز بإنشاء قوائم بسيطة جدًا مما يسهل على المطورين تنفيذ الهياكل.
لغة Scheme
تعتبر هذه اللغة بديلًا للغة LISP وتتميز بميزات أبسط، وتُعد لغة برمجة مبتدئة شائعة جدًا في مجال علوم الحاسوب، كما أنها تساعد في حل المشكلات بسهولة دون الحاجة للتفكير في التركيبات اللغوية للبرمجة.