ألفت هذه الدروس بنفسي و بالتأكيد أريد المنتدى الأفضل أن يحظى بها. أعشق المنتدى و رواده. أنا أنشر هذه المواضيع في جريدة المدينة الأردنية.
الصور مرفقة بملف.
شباب أريد آراء. اذا لم أجد متابعة سأتوقف عن النشر لأن آراءكم تهمني thumb:
تعلم البرمجة بلغة السي بلس بلس C++ ( 1 ) :
البرمجة هي أحد الأركان الأساسية في عالم الحاسوب. و هي علم كائن بحد ذاته يحتاج الى مراس و مثابرة ليصل الانسان الى مرحلة الاتقان للغات البرمجة. و المدينة اختارت لغة السي بلس بلس بالذات لتشرحها عبر دروس اسبوعية لتصل المعرفة الى أكبر عدد من المهتمين.
لماذا نتعلم لغات البرمجة ؟
تعلم لغات البرمجة أمر أساسي و ضروري للوصول الى استخدام أمثل لجهاز الحاسوب. فالحاسوب أسرع و أكثر دقة من الانسان بكثير. فمثلا ، لو طلب منك طباعة جميع الأعداد من 1 الى 10000 تحت بعضها ، فإنك ستحتاج الى وقت طويل يصل الى ساعات لكتابتها باستخدام معالج نصوص. الا أنك تستطيع فعل ذلك بثوان قليلة باستخدام لغات البرمجة لتأمر الحاسوب بطباعتها بنفسه. كذلك لو طلب منك أن تحدد أيها أكبر ، 220/125 أو 270/170 فإنك تحتاج الى آلة حاسبة لتحصل على اجابة صحيحة. إلا أن الحاسوب قادر على تحديد ذلك و ما أصعب منه بثوان قليلة بأكبر قدر من الدقة. إذن الحاسوب أسرع و أكثر دقة. لم يتبق سوى أن نتعلم كيف نجعله يطيع أوامرنا.
لماذا لغة السي بلس بلس بالتحديد ؟
اخترنا لغة السي بلس بلس ، و ليس غيرها كالبيسك أو الجافا ، ببساطة لأنها تعتبر أم لغات البرمجة ذات المستوى العالي. فجميع لغات البرمجة تصبح سهلة التعلم اذا ما استطاع الشخص فهم لغة السي بلس بلس. حتى أن بعض لغات البرمجة تم بناؤها بواسطة السي بلس بلس و كذلك الويندوز لما تتمتع به هذه اللغة من قوة. و تعتبر لغة السي بلس بلس إحدى لغات المستوى الثالث أو المستوى العالي كونها أقرب الى لغة الإنسان. و لفهم هذا علينا أن نرجع الى الخلف بضعة سنوات. فقبل عشرات السنين كانت لغات البرمجة تكتب بالطريقة التي يفهمها جهاز الحاسوب و هي الواحد و الصفر 111001010. فقد تكون العبارة السابقة تأمر الحاسوب باظهار نص على الشاشة ، لكن لا أحد من البشر يمكن أن يفهم ماذا تعني الا بصعوبة بالغة. و تم تطوير لغة البرمجة الى ما تسمى لغة التجميع ، التي أصبحت أكثر وضوحا للإنسان فمثلا MOV AL,BL يقوم بنقل المعلومات من مكان الى مكان و هذا واضح من أمر MOV الموجود في التعليمة و الذي يعني بالعربية انقل. الا أن البرامج الطويلة تصبح معقدة الى درجة كبيرة في لغة الأسمبلي (التجميع) و يصعب فهمها ، فتم تطوير جيل ثالث أو مستوى ثالث من لغات البرمجة و منها لغة السي بلس بلس التي يسهل على الانسان فهمها مثل X = A + B. و لغة السي هي تطوير للغة الأصلية الأي A التي تطورت للغة ال B و من ثم تم تطويرها الى لغة السي. و لغة السي بلس بلس هي تطوير للغة السي فتم اضافة ميزات جديدة في السي بلس بلس لم توجد في لغة السي.
كيف يعمل جهاز الحاسوب ؟
قبل أن نبدأ بلغة السي بلس بلس علينا الحديث قليلا عن كيفية عمل جهاز الحاسوب ، كي نحصل على فهم أكبر للغة السي بلس بلس. يتصل المعالج الدقيق لجهاز الحاسوب بالذاكرة الرئيسة ، و التي يتعامل معها بشكل مباشر. أي برنامج يجب أن بنفذه المعالج الدقيق يجب أن يتواجد في الذاكرة الرئيسة و الا فإن البرنامج لن ينفذ. و وضع البرنامج في الذاكرة الرئيسة ليس بالمسألة السهلة فإن الذاكرة لا تحوي سوى الأرقام التي يفهمها جهاز الحاسوب الواحد و الصفر ، فكيف يمكن وضع تعليمة كاملة مثل X = A + B في الذاكرة ؟ هنا يجب تحويل التعليمة الى مجموعة من الواحد و الأصفار التي تمثل التعليمة ، فقد تكون 11000010 تعني X = A + B و 11101100 تعني تعليمة أخرى. أي أن ترتيب الواحد و الصفر في التعليمة يجعل معناها يختلف. و لن نتطرق الى كيفية التحويل ، فالتحويل يمر بمراحل عدة قبل وصول التعليمة الى الواحد و الصفر ، و هذا أمر شديد التعقيد. كل ما علينا معرفته هو أنه تتوفر برامج مخصصة للقيام بعملية تحويل التعليمات الى الواحد و الصفر ، و يجب استخدام أحد هذه البرامج للبرمجة بلغة السي بلس بلس. أحد البرامج المشهورة هي Microsoft Visual Studio الذي سنتحدث عنه بعد قليل.
البرنامج الأول :
الشكل رقم (1) يبين برنامج سي بلس بلس. لا داعي للذعر ان لم تستطع فهم أي شيء في الصورة ، كل ما عليك هو أن تنظر اليها و تقرأ البرنامج كي يصبح مألوفا لديك. البرنامج المكتوب يطبع Al Madeenah Newspaper على الشاشة و لا شيء سوى ذلك. قبل أن أوضح كيف يعمل البرنامج ، حاول أن تشغله بنفسك. الآن شغل برنامج Visual Studio 6 على جهازك و اتبع الخطوات التالية المرفقة بالصور:
1. اضغط على New. شكل رقم (2)
2. من انافذة التي تظهر لديك ، اختر File من الزاوية العليا اليسرى كما يظهر في الصورة ، ثم اختر C/C++ Header file. شكل رقم (3)
3. في المربع على اليمين ، و تحت اسم File Name اكتب Test.cpp كما يظهر في الصورة. ثم اضغط OK. شكل رقم (4)
4. اطبع البرنامج الموجود في الصورة الأولى كما هو في المساحة البيضاء.
5. اضغط على كلمة Build ثم Compile Test.cpp كما هو واضح في الصورة.شكل رقم (5)
6. اضغط Yes مرتين عندما تظهر لك الرسالة التي تسألك. ثم اضغط F7.
7. الآن اضغط Cntrl + F5 على لوحة المفاتيح و شاهد كيف يطبع الحاسوب الجملة.
قد تبدو لك الخطوات السابقة مملة و بطيئة ، الا أنها غاية في السهولة عندما تعتاد عليها.
لنبدأ العمل :
الآن لنبدأ العمل الحقيقي بالتعرف على لغة السي بلس بلس. انظر الى الصورة رقم (6) ثم اقرأ شرح الأجزاء المشار اليها:
1. هذا السطر يعتبر قاموس الحاسوب. فجهاز الحاسوب لا يعلم شيئا من الانجليزية التي كتبنا بها برنامجنا. لذا فهذا السطر يعتبر كالقاموس الذي يرجع اليه الحاسوب ان لم يفهم شيئا معينا في البرنامج. المزيد من التوضيح حول هذا السطر سنقدمه في حلقات متقدمة.
2. هذا السطر يعلن بداية البرنامج. عند تنفيذ البرنامج فإن اول ما يبحث عنه الحاسوب هو هذا السطر ليبدأ بتنفيذ ما بعده. لا تقلق بمعنى كلمة void فسيتم شرحها لاحقا.
3. هنا كما ترى جملة انجليزية 100% ليس لها علاقة بلغة البرمجة. كما أن لونها أخضر مميز. تسمى هذه الجملة جملة التعليق ، يستطيع المبرمج فيها كتابة ما يشاء دون أن يؤثر على عمل البرنامج. و لتمييز جملة التعليق ، تبدأ هذه الجملة دائما بالشرطتين المائلتين // . و هذا يخبر الحاسوب أن ما بعد هاتين الشرطتين هو تعليق تجاهله و اقفز لما بعده. جملة التعليق مفيدة جدا لأنها توضح العمل الذي يقوم به البرنامج. كذلك تسهل عملية متابعة البرنامج و تطويره و تزيد من سرعة بناء البرامج خاصة اذا كلف في العمل فريق كامل للبرمجة و ليس مبرمج واحد فقط. الحاسوب يتجاهل هذه الجملة و يقفز الى ما بعدها.
تلاحظ أن ما بعد هذا السطر هو فراغ. هذا الفراغ لا يعني أي شيء للحاسوب بل يقفز عنه و يتابع الى ما بعده. كذلك أي فراغ أبيض ضمن السطر الواحد لا يعني شيء للحاسوب و يقفز عنه. فوجود الفراغ أو عدمه له نفس التأثير على البرنامج الا اذا كان فراغا بين الكلمات.
4. هذه هي التعليمة الحقيقية التي تأمر الحاسوب بطباعة الجملة على الشاشة. يبدأ الحاسوب بقراءة الجملة من اليسار الى اليمين. فيقرأ الحاسوب كلمة cout فلا يفهم معناها فيرجع للقاموس الموجود بالسطر الأول من البرنامج و يفتحه ليفهم معنى تلك الكلمة. و عندما يجدها يدرك أنها أمر للحاسوب باظهار نص ما على الشاشة. أي نص؟ إنه النص الموجود بين علامتي تنصيص. فيحمل الحاسوب ذلك النص و يطبعه على شاشة كما هو دون حتى المحاولة لفهم معناه. لذلك يمكنك كتابة ما تريد بين علامتي التنصيص ليطبعه الحاسوب. جرب الآن كتابة اسمك بين علامتي التنصيص ، و اتبع الخطوات التي شرحت سابقا لتشاهد نتيجة التغيير الذي قمت به.
لاحظ في نهاية الجملة وجود الفاصلة المنقوطة. هذه الفاصلة مهمة جدا جدا في البرنامج فهي تخبر الحاسوب أين ينتهي السطر الذي يعني نهاية التعليمة. فكما قلت سابقا الحاسوب لا يهتم بالفراغات و يقفز عنها ، لذا وجود الفاصلة مهم لكي ينتبه الحاسوب الى انتهاء التعليمة و يقفز الى التعليمة التي تليها. و في مثالنا هذا ينتهي البرنامج عند هذه التعليمة.
لقد تعرفت الآن الى ماهية السي بلس بلس ، و البيئة التي يعمل عليها ، بل و قمت بكتابة برنامجك الأول. في الدروس القادمة سنمر على المزيد من التفاصيل التي ستجعلك أكثر خبرة بلفة السي بلس بلس.
الصور مرفقة بملف.
شباب أريد آراء. اذا لم أجد متابعة سأتوقف عن النشر لأن آراءكم تهمني thumb:
تعلم البرمجة بلغة السي بلس بلس C++ ( 1 ) :
البرمجة هي أحد الأركان الأساسية في عالم الحاسوب. و هي علم كائن بحد ذاته يحتاج الى مراس و مثابرة ليصل الانسان الى مرحلة الاتقان للغات البرمجة. و المدينة اختارت لغة السي بلس بلس بالذات لتشرحها عبر دروس اسبوعية لتصل المعرفة الى أكبر عدد من المهتمين.
لماذا نتعلم لغات البرمجة ؟
تعلم لغات البرمجة أمر أساسي و ضروري للوصول الى استخدام أمثل لجهاز الحاسوب. فالحاسوب أسرع و أكثر دقة من الانسان بكثير. فمثلا ، لو طلب منك طباعة جميع الأعداد من 1 الى 10000 تحت بعضها ، فإنك ستحتاج الى وقت طويل يصل الى ساعات لكتابتها باستخدام معالج نصوص. الا أنك تستطيع فعل ذلك بثوان قليلة باستخدام لغات البرمجة لتأمر الحاسوب بطباعتها بنفسه. كذلك لو طلب منك أن تحدد أيها أكبر ، 220/125 أو 270/170 فإنك تحتاج الى آلة حاسبة لتحصل على اجابة صحيحة. إلا أن الحاسوب قادر على تحديد ذلك و ما أصعب منه بثوان قليلة بأكبر قدر من الدقة. إذن الحاسوب أسرع و أكثر دقة. لم يتبق سوى أن نتعلم كيف نجعله يطيع أوامرنا.
لماذا لغة السي بلس بلس بالتحديد ؟
اخترنا لغة السي بلس بلس ، و ليس غيرها كالبيسك أو الجافا ، ببساطة لأنها تعتبر أم لغات البرمجة ذات المستوى العالي. فجميع لغات البرمجة تصبح سهلة التعلم اذا ما استطاع الشخص فهم لغة السي بلس بلس. حتى أن بعض لغات البرمجة تم بناؤها بواسطة السي بلس بلس و كذلك الويندوز لما تتمتع به هذه اللغة من قوة. و تعتبر لغة السي بلس بلس إحدى لغات المستوى الثالث أو المستوى العالي كونها أقرب الى لغة الإنسان. و لفهم هذا علينا أن نرجع الى الخلف بضعة سنوات. فقبل عشرات السنين كانت لغات البرمجة تكتب بالطريقة التي يفهمها جهاز الحاسوب و هي الواحد و الصفر 111001010. فقد تكون العبارة السابقة تأمر الحاسوب باظهار نص على الشاشة ، لكن لا أحد من البشر يمكن أن يفهم ماذا تعني الا بصعوبة بالغة. و تم تطوير لغة البرمجة الى ما تسمى لغة التجميع ، التي أصبحت أكثر وضوحا للإنسان فمثلا MOV AL,BL يقوم بنقل المعلومات من مكان الى مكان و هذا واضح من أمر MOV الموجود في التعليمة و الذي يعني بالعربية انقل. الا أن البرامج الطويلة تصبح معقدة الى درجة كبيرة في لغة الأسمبلي (التجميع) و يصعب فهمها ، فتم تطوير جيل ثالث أو مستوى ثالث من لغات البرمجة و منها لغة السي بلس بلس التي يسهل على الانسان فهمها مثل X = A + B. و لغة السي هي تطوير للغة الأصلية الأي A التي تطورت للغة ال B و من ثم تم تطويرها الى لغة السي. و لغة السي بلس بلس هي تطوير للغة السي فتم اضافة ميزات جديدة في السي بلس بلس لم توجد في لغة السي.
كيف يعمل جهاز الحاسوب ؟
قبل أن نبدأ بلغة السي بلس بلس علينا الحديث قليلا عن كيفية عمل جهاز الحاسوب ، كي نحصل على فهم أكبر للغة السي بلس بلس. يتصل المعالج الدقيق لجهاز الحاسوب بالذاكرة الرئيسة ، و التي يتعامل معها بشكل مباشر. أي برنامج يجب أن بنفذه المعالج الدقيق يجب أن يتواجد في الذاكرة الرئيسة و الا فإن البرنامج لن ينفذ. و وضع البرنامج في الذاكرة الرئيسة ليس بالمسألة السهلة فإن الذاكرة لا تحوي سوى الأرقام التي يفهمها جهاز الحاسوب الواحد و الصفر ، فكيف يمكن وضع تعليمة كاملة مثل X = A + B في الذاكرة ؟ هنا يجب تحويل التعليمة الى مجموعة من الواحد و الأصفار التي تمثل التعليمة ، فقد تكون 11000010 تعني X = A + B و 11101100 تعني تعليمة أخرى. أي أن ترتيب الواحد و الصفر في التعليمة يجعل معناها يختلف. و لن نتطرق الى كيفية التحويل ، فالتحويل يمر بمراحل عدة قبل وصول التعليمة الى الواحد و الصفر ، و هذا أمر شديد التعقيد. كل ما علينا معرفته هو أنه تتوفر برامج مخصصة للقيام بعملية تحويل التعليمات الى الواحد و الصفر ، و يجب استخدام أحد هذه البرامج للبرمجة بلغة السي بلس بلس. أحد البرامج المشهورة هي Microsoft Visual Studio الذي سنتحدث عنه بعد قليل.
البرنامج الأول :
الشكل رقم (1) يبين برنامج سي بلس بلس. لا داعي للذعر ان لم تستطع فهم أي شيء في الصورة ، كل ما عليك هو أن تنظر اليها و تقرأ البرنامج كي يصبح مألوفا لديك. البرنامج المكتوب يطبع Al Madeenah Newspaper على الشاشة و لا شيء سوى ذلك. قبل أن أوضح كيف يعمل البرنامج ، حاول أن تشغله بنفسك. الآن شغل برنامج Visual Studio 6 على جهازك و اتبع الخطوات التالية المرفقة بالصور:
1. اضغط على New. شكل رقم (2)
2. من انافذة التي تظهر لديك ، اختر File من الزاوية العليا اليسرى كما يظهر في الصورة ، ثم اختر C/C++ Header file. شكل رقم (3)
3. في المربع على اليمين ، و تحت اسم File Name اكتب Test.cpp كما يظهر في الصورة. ثم اضغط OK. شكل رقم (4)
4. اطبع البرنامج الموجود في الصورة الأولى كما هو في المساحة البيضاء.
5. اضغط على كلمة Build ثم Compile Test.cpp كما هو واضح في الصورة.شكل رقم (5)
6. اضغط Yes مرتين عندما تظهر لك الرسالة التي تسألك. ثم اضغط F7.
7. الآن اضغط Cntrl + F5 على لوحة المفاتيح و شاهد كيف يطبع الحاسوب الجملة.
قد تبدو لك الخطوات السابقة مملة و بطيئة ، الا أنها غاية في السهولة عندما تعتاد عليها.
لنبدأ العمل :
الآن لنبدأ العمل الحقيقي بالتعرف على لغة السي بلس بلس. انظر الى الصورة رقم (6) ثم اقرأ شرح الأجزاء المشار اليها:
1. هذا السطر يعتبر قاموس الحاسوب. فجهاز الحاسوب لا يعلم شيئا من الانجليزية التي كتبنا بها برنامجنا. لذا فهذا السطر يعتبر كالقاموس الذي يرجع اليه الحاسوب ان لم يفهم شيئا معينا في البرنامج. المزيد من التوضيح حول هذا السطر سنقدمه في حلقات متقدمة.
2. هذا السطر يعلن بداية البرنامج. عند تنفيذ البرنامج فإن اول ما يبحث عنه الحاسوب هو هذا السطر ليبدأ بتنفيذ ما بعده. لا تقلق بمعنى كلمة void فسيتم شرحها لاحقا.
3. هنا كما ترى جملة انجليزية 100% ليس لها علاقة بلغة البرمجة. كما أن لونها أخضر مميز. تسمى هذه الجملة جملة التعليق ، يستطيع المبرمج فيها كتابة ما يشاء دون أن يؤثر على عمل البرنامج. و لتمييز جملة التعليق ، تبدأ هذه الجملة دائما بالشرطتين المائلتين // . و هذا يخبر الحاسوب أن ما بعد هاتين الشرطتين هو تعليق تجاهله و اقفز لما بعده. جملة التعليق مفيدة جدا لأنها توضح العمل الذي يقوم به البرنامج. كذلك تسهل عملية متابعة البرنامج و تطويره و تزيد من سرعة بناء البرامج خاصة اذا كلف في العمل فريق كامل للبرمجة و ليس مبرمج واحد فقط. الحاسوب يتجاهل هذه الجملة و يقفز الى ما بعدها.
تلاحظ أن ما بعد هذا السطر هو فراغ. هذا الفراغ لا يعني أي شيء للحاسوب بل يقفز عنه و يتابع الى ما بعده. كذلك أي فراغ أبيض ضمن السطر الواحد لا يعني شيء للحاسوب و يقفز عنه. فوجود الفراغ أو عدمه له نفس التأثير على البرنامج الا اذا كان فراغا بين الكلمات.
4. هذه هي التعليمة الحقيقية التي تأمر الحاسوب بطباعة الجملة على الشاشة. يبدأ الحاسوب بقراءة الجملة من اليسار الى اليمين. فيقرأ الحاسوب كلمة cout فلا يفهم معناها فيرجع للقاموس الموجود بالسطر الأول من البرنامج و يفتحه ليفهم معنى تلك الكلمة. و عندما يجدها يدرك أنها أمر للحاسوب باظهار نص ما على الشاشة. أي نص؟ إنه النص الموجود بين علامتي تنصيص. فيحمل الحاسوب ذلك النص و يطبعه على شاشة كما هو دون حتى المحاولة لفهم معناه. لذلك يمكنك كتابة ما تريد بين علامتي التنصيص ليطبعه الحاسوب. جرب الآن كتابة اسمك بين علامتي التنصيص ، و اتبع الخطوات التي شرحت سابقا لتشاهد نتيجة التغيير الذي قمت به.
لاحظ في نهاية الجملة وجود الفاصلة المنقوطة. هذه الفاصلة مهمة جدا جدا في البرنامج فهي تخبر الحاسوب أين ينتهي السطر الذي يعني نهاية التعليمة. فكما قلت سابقا الحاسوب لا يهتم بالفراغات و يقفز عنها ، لذا وجود الفاصلة مهم لكي ينتبه الحاسوب الى انتهاء التعليمة و يقفز الى التعليمة التي تليها. و في مثالنا هذا ينتهي البرنامج عند هذه التعليمة.
لقد تعرفت الآن الى ماهية السي بلس بلس ، و البيئة التي يعمل عليها ، بل و قمت بكتابة برنامجك الأول. في الدروس القادمة سنمر على المزيد من التفاصيل التي ستجعلك أكثر خبرة بلفة السي بلس بلس.
المرفقات
التعديل الأخير: