ملخص
يفكّك هذا الدرس أصغر برنامج في C++ إلى قطعه ويشرح دور كل قطعة منها. فتوجيه التضمين يصرّح بأجزاء المكتبة التي يعتمد عليها البرنامج، وكل مكوّن يتطلّب ملف ترويسته الخاص، وإن جلبه أحيانًا ملف آخر «بشكل غير مباشر»؛ والدالة main هي نقطة الدخول، وقيمتها المعادة هي رمز الخروج الذي يتلقّاه النظام؛ وفضاء الأسماء std يجمع أسماء المكتبة، والدورة تكتبها دائمًا ببادئتها؛ والتعليمات تنتهي بفاصلة منقوطة، والأقواس المعقوصة تجمع التعليمات في كتل، والتعليقات تشرح ما لا تقوله الشيفرة بنفسها. ويُختم الدرس بدليل الأسلوب الذي تتبعه الدورة في جميع برامجها، وبطريقة قراءة الشيفرة المكتوبة بأيدٍ أخرى التي تستعمل std::cout وstd::endl.
أهداف التعلم
- التعرّف في برنامج ما على توجيه التضمين والدالة
mainوالتعليمات والكتل والتعليقات، وشرح دور كل منها. - شرح ما يفعله
#includeولماذا يتطلّب كل مكوّن من مكوّنات المكتبة ملف ترويسته الخاص، وإن ترجم البرنامج بدونه في مترجم بعينه. - تصحيح برنامج فيه أخطاء في البنية (قوس معقوص غير مغلق، فاصلة منقوطة ناقصة، ملف ترويسة محذوف) انطلاقًا من رسائل المترجم، مقروءةً من أولها.
- إعادة كتابة برنامج وفق دليل الأسلوب في الدورة وتعليل كل تغيير.
أصغر برنامج
في الدرس الماضي تُرجم برنامج ونُفّذ دون أن يُفحص. والآن يُقرأ سطرًا سطرًا، لأن كل سطر يستجيب لمطلب مختلف: أحدها مطلب اللغة، وآخر مطلب نظام التشغيل، وآخر مطلب من يقرأ الشيفرة. وهذا هو البرنامج.
// البرنامج الأول: يكتب سطرًا واحدًا وينتهي.#include <print>int main(){ std::println("مرحبا بالعالم");}مرحبا بالعالمالسطر الأول تعليق: يبدأ بشرطتين مائلتين ويمتد إلى نهاية السطر، ويُهمله المترجم؛ فهو مكتوب لمن يقرأ البرنامج. والثاني توجيه تضمين: يطلب أن يُدمج قبل الترجمة ملف الترويسة <print>، حيث تصرّح المكتبة القياسية بـstd::println. والسطر الفارغ لا أثر له البتة؛ فهو يفصل تحضير البرنامج عن محتواه. والسطر الرابع يفتح الدالة main، وهي الموضع الذي يبدأ فيه التنفيذ، والقوس المعقوص في الخامس يفتح كتلتها، التي تُغلق في السطر الأخير. وفي داخل الكتلة تعليمة واحدة لا غير، منتهية بفاصلة منقوطة: استدعاء std::println، الذي يكتب النص الواقع بين علامتي التنصيص ثم ينتقل إلى سطر جديد.
وتجدر الملاحظة أن البرنامج لا يحتوي أي تعليمة للانتهاء. فعند الوصول إلى القوس المعقوص الأخير في main ينتهي التنفيذ، ويُبلغ البرنامج النظام أن كل شيء جرى على ما يرام؛ وسنرى أدناه كيف يكون ذلك. ويترتب على ذلك أن خمس قطع تكفي لبرنامج كامل: التعليقات، والتوجيهات، والدالة main، والكتل، والتعليمات. والأقسام الآتية تتناولها بهذا الترتيب، ما عدا التعليقات، التي تُعالج مع التعليمات والكتل.
في برنامج التحية، التوجيه هو السطر 2؛ والدالة main تشغل الأسطر من 4 إلى 7؛ وكتلتها تمتد من القوس المعقوص في السطر 5 إلى قوس السطر 7؛ والتعليمة الوحيدة هي السطر 6، والتعليق الوحيد هو السطر 1. فإذا حُذف التعليق تُرجم البرنامج كما هو وأعطى المخرجات نفسها؛ وإذا حُذفت أي قطعة أخرى كفّ عن أن يُترجم أو عن أن يكون برنامجًا.
جارٍ تحميل المحتوى…