20 - سلسلة تبسيط البرمجة – مع البرنامج الأول

السلام عليكم ورحمة الله وبركاته

بسم الله الرحمن الرحيم

سأفترض أن كل من يقرأ هذا الدرس قد قام بتثبيت بيئة البرمجة وتطوير البرامج

مايكروسوفت فيجوال ستوديو 2013 كما تم الطلب في الحلقة السابقة

كما أني قد أستخدم الكلمات الإنكليزية بلفظها العربي وليس الترجمة إلا إذا اقتضى الأمر غير ذلك

كما جرت وكحال معظم البرامج فإن القائمة الأولى هي ملف File و في بدايتها عدة أوامر وستجدون أول أمر هو قائمة فرعية بعنوان New لإنشاء عدة أشياء جديدة

وأولها مشروع جديد New>Project كما يوجد نفس الأمر في صفحة البداية

  • الآن سنقوم بالنقر على الاختصار Ctrl+Shift+N وهو اختصار إنشاء مشروع جديد

  • ستظهر نافذة لاختيار قالب للمشروع ستجدون على اليسار قائمة مبوبة تضم عدة أنواع للمشاريع مبوبة حسب لغات البرمجة

  • الذي سنتعامل معه هو لغة فيجوال بيسيك

  • سنختار منه قالب كونسول أبليكيشن Consol Application وهو أبسط أنواع القوالب والذي لا يشترط وجود واجهات ونوافذ وإنما يقبل أن ينفذ عمليات في الخلفية بدون واجهات وشاشة التخاطب هي نافذة الكونسول وهي الشاشة السوداء التي كانت تمثل الشاشة في نظام الدوس MS DOS

  • بعد اختيار هذا القالب نجد في الأسفل المسار الذي سيحفظ فيه المشاريع وسيكون مسار بروفايل المستخدم

  • ولكن أنصح بإنشاء مجلد خاص على هارد آخر غير السي لحفظ المشاريع بدلا من الافتراضي حتى لا تضيع في حال الفرمتة وأنا أعتدت في مثل هذه الحالات أن أغير فقط الحرف الأول أي اسم السواقة وأجعلها D أو E حسب اسم السواقة الثانية غير الرئيسية فيبدو وكأني جعلت ملف بروفايلي في هارد آخر

  • بعد الموافقة ستظهر صفحة فيها كود مكون من أربع أسطر وفي أقصى اليمين ستظهر في نافذة مستعرض المشروع مكونات المشروع من عدة ملفات وأحدها الملف الذي تم فتحه وهو ملف Module1

  • أسطر الكود هي عبار عن جسم الموديول ويبدأ بـ بالكلمة المفتاحية المحجوزة Module والكلمات المحجوزة هي كلمات لها معنى خاص ضمن اللغة ولهذا يتم تمييزها بالأزرق ولا يجوز استخدامها في تعريف المتغيرات

  • يلي الكلمة المحجوزة اسم الموديول وكاسم افتراضي ظهر لدينا Module1 وهذا يعني أننا نستطيع إنشاء أكثر من موديول ونعطيه أي اسم نريد

  • كما أنه وبحسب مفهوم النطاق أو المدة الذي شرحته في الدرس : 13 - سلسلة تبسيط البرمجة – آلية المجال أو النطاق

فإن البرنامج سيكون ذو بنية مبنية على الوحدات Block وذلك لتحديد النطاق لكل بلوك على حدا

وكيف يتعرف البرنامج على حدود البلوك فلا بد من شيء يميز بداية ونهاية البلوك

ولهذا عند افتتاح أي بلوك بكلمة لا بد من وجود إنهاء للبلوك بعبار End وهي كلمة محجوزة أيضا

وفي مثالنا السابق نلاحظ أنه بلوك الموديول بدأ بالكلمة ومن ثم تم إقفال البلوك في آخر سطر بعبارة End Module

هذين السطرين يجعلان المترجم يتعرف على أن ما داخل هذا البلوك يمتلك نطاق واحد

أي أننا لا نستطيع تعريف شيئين بنفس الاسم ضمنه ولكن يمكن تعريف نفس الاسم لمتغير في هذا الموديول ومتغير في موديول آخر

وهنا تكمن فائدة الموديول أن تجعل إمكانية لتقسيم البرنامج إلى وحدات لضمان عدم اختلاط وتشابه الأسماء

  • نلاحظ داخل الموديول بلوك آخر ولكن هذه المرة تم استخدام الكلمة المحجوزة Sub وهي اختصار لكلمة Sub- routine وتعني إجراء فرعي وجاء اسمه بالكلمة التي خلفها Main ومن ثم قوسين والقوسين لهما غاية وهي تمييز الروتين عن المتغيرات ولكي يتم تعريف متغيرات تمرير قيم من الخارج إلى داخل بلوك الإجراء في حال استدعاء الإجراء من مكان آخر

  • في حالتنا هذه لا يوجد متغيرات تمرير

  • يعتبر هذا الإجراء هو نقطة البداية أي أن تشغيل البرنامج سيجعل التنفيذ يبدء من هذا الروتين ثم يتم تنفيذ التعليمات واحدة تلو الأخرى حتى انتهاء البرنامج

  • ولكن هنا الإجراء فارغ فلا يوجد تعليمات وبالتالي سيبدأ التنفيذ بدخول بلوك الإجراء ثم يخرج فورا لأن

  • لنجرب تشغيل البرنامج من خلال القائمة Debug>Start Debugging أو الاختصار F5

  • ستلاحظون ظهور نافذة سوداء ثم اختفاؤها فورا

  • هذه الشاشة هي شاشة الكونسول

  • واختفت بسرعة لأنه كما أسلفنا لا يوجد تعليمات للتنفيذ فقد دخل الإجراء وخرج منه

بهذا أقول لكم مبارك عليكم فقد برمجتم أول برنامج

برنامج لا يفعل شيئا ツ

الدرس القادم سيكون البرنامج العرفي "Hello World" إن شاء الله

بأمان الله