الدرس الرابع : مدخل إلى لغة الـ ++C

سلسلة من الدروس في لغة البرمجة ++C

لغة البرمجة

هي آلية التخاطب بين الإنسان و الحاسب يتمكّن الإنسان من خلالها من صياغة الخوارزمية بأسلوب يفهمه الحاسب بشكل مباشر أو غير مباشر و يتمكن من تطبيقها و الاحتفاظ بها لاستخدامها في مراتٍ لاحقة.

نعلم بأن الحاسب يفهم لغة وحيدة هي اللغة الرقمية (الأصفار و الواحدات) و تدعى هذه اللغة بلغة الآلة Machine Code إن صياغة الخوارزمية باستخدام لغة الآلة يؤدي إلى فهمها المباشر من قبل الحاسب و جعلها قابلة للتطبيق و التخزين.

مثال: برنامج صغير بلغة الآلة

00000000001000100001100000100100

00010000011000000000000000000001

00000000011000100001100000100101

00000000011000100010100000100000

10101100110001010000000000000000

10001100110001110000000000000000

تعتبر هذه اللغة عاجزة عن التعبير المباشر عن مجمل الخوارزميات و المشاكل التي نريد حلها باستخدام الحاسب و ذلك لصعوبة إدراكها و السيطرة عليها من قبل الدماغ البشري، لذلك نلجأ لاستخدام لغات برمجة عالية المستوى تكون عبارة عن مفردات و مصطلحات لغوية (الانكليزية عموماً) ثم نقوم بنقلها إلى لغة الآلة التي يفهمها الحاسب.

المفردات و التعابير :

تقسم العمليات التي يقوم بها الحاسب بشكل عام إلى ثلاثة أنواع ٍ هي قراءة المعطيات  ثم معالجتها ثم إخراجها.

من هذا المنطلق نقسّم المفردات و التعابير في أي لغة برمجة إلى ثلاثة أنواع هي:

– مفردات خاصة بالإدخال.

– مفردات و تعابير خاصة بالمعالجة.

– مفردات خاصة بالإخراج.

لغة الـ ++C

تعتبر من أشهر لغات البرمجة و أكثرها انتشاراً لما تحمله من ميزات سنتعرف على بعضها خلال هذا المقرر.

سنطلق على مجموعة المفردات و التعابير التي تضمها اللغة اسم تعليمة لذلك سيكون لدينا:

– تعليمات خاصة بالإدخال.

– تعليمات خاصة بالمعالجة.

– تعليمات خاصة بالإخراج.

يوجد شكل عام لكل ما نريد كتابته بهذه اللغة وهو كالتالي:

لنقوم بتفسير مبسّط لهذه الأسطر.

السطر الأول يسمح لنا بالتعامل مع لوحة المفاتيح كوسيلة لإدخال البيانات و الشاشة كوسيلة لإخراج البيانات.

السطر الثاني يحدد الآلية التي سيتم التعامل من خلالها مع لوحة المفاتيح و الشاشة و تشير std اختصاراً إلى standard  أي استخدام الأسلوب القياسي للغة الـ C++ (يوجد أساليب أخرى).

السطر الثالث و يشير إلى ما يدعى بالإجراء الرئيسي main (أو التابع الرئيسي) حيث يكتب بداخله المفردات و التعابير المطلوبة. سنتعرف لاحقاً عن معنى int  و معنى return 0  في السطر السادس

السطر الرابع يشير هذا القوس إلى بداية الإجراء الرئيسي، و السطر السابع يشير إلى نهايته.

لنقم الآن بكتابة بضعة سطور تسمح لنا بطباعة جملة   Hello World..!على الشاشة،

لذا سنتعرف على تعليمة خاصة بالإخراج.

السطر الخامس هو ما كتبناه وهو ما سيطبع الجملة المطلوبة على الشاشة و تمثل تعليمة cout تعليمة إخراج بلغة الـ C++ و لها الصيغة العامة التالية:


ملاحظات عامة في لغة الـ ++C

– تنتهي كل تعليمة بفاصلة منقوطة.

– يشير الخطين المائلين // إلا أن الكتابة هي تعليق أي لا تحمل مدلول برمجي.

– يجب الالتزام بنوعية الأقواس التي تدل على بداية و نهاية الإجراء –أقواس كبيرة حصراً-.

– يجب الانتباه إلى أن تعليمة الإخراج تتضمن علامات تنصيص مزدوجة و ليست مفردة.

البرنامج :

سلسلة مرتبة من التعليمات التي يفهمها الحاسب و يقوم بتنفيذها بالترتيب و تكون هذه التعليمات مكتوبة بلغة الآلة حتى يتمكن البرنامج من تنفيذها، لذلك لا بد من وجود آلية ما تنقل ما كتبناه بلغة الـ  C++ إلى لغة الآلة.

بما أن المهمة هي الانتقال من لغة إلى لغة لذلك تدعى العملية بالترجمة Compilation نحصل كنتيجة لها على البرنامج الذي سينفذ على الحاسب.

تسمى هذه الأسطر السابقة المكتوبة بلغة الـ C++ بشيفرة البرنامج (Code) أو الشيفرة المصدرية (Source Code) و سنتفق على تسميتها بالاسم المتداول ” كود “.

سنستخدم في الجلسات اللاحقة تعبيراً هو ” اكتب برنامجاً “ و سنجده في المراجع و نشير من خلال ذلك إلى كتابة الكود و ترجمته للحصول على البرنامج.

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

يوجد تطبيقات تقوم لنا بهذه المهمة و تسمى مترجمات Ccompilers  و سنتعامل مع إحدى هذه المترجمات وهو ++G .

كتابة الكود – الترجمة – تنفيذ البرنامج

ننشأ ملف نصي جديد و نحفظه باسم FirstCode.cpp  و نكتب بداخلة الكود المطلوب.

نركز هنا على أن يكون امتداد الملف هو cpp و التي تشير إلى C++ (C Plus Plus) ، هنا تنتهي مرحلة كتابة الكود.

نفتح الطرفية و نكتب فيها

g++ -o FirstProgram FirstCode.cpp

g++ هو اسم المترجم.

-o اختصار لـ output و ما يأتي بعدها اسم البرنامج (ناتج الترجمة أو ملف الخرج).

FirstCode.cpp الملف المطلوب ترجمته.

نحصل بعدها على البرنامج و يكون باسم FirstProgram و موجود في مسار العمل نفسه.

لتنفيذ البرنامج نكتب:


سيظهر على الشاشة العبارة


كشف الأخطاء

قبل تحويل الكود إلى برنامج يقوم المترجم بالتأكد من خلو الكود من أية خطأ كتابي syntax error  .

في حال وجد خطأ ما فلن نحصل على برنامج بل سيخبرنا المترجم بوجود الخطأ و في أي سطر تحديداً و ما هو الخطأ الموجود.

مثال:

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

إن الخطأ موجود  في الإجراء الرئيسي، في السطر السادس و عند الحرف الأول يتوقع وجود فاصلة منقوطة قبل تعليمة return و التي تدل على نهاية التعليمة السابقة و هي تعليمة الإخراج.

من الأهم الأمور التي يجب أن يقوم بها أي مبرمج هي قراءة رسائل الخطأ كاملة ً في المفتاح لمعرفة سبب ومكان الخطأ في البرنامج.

تعديل الكود الأول

لاحظنا عند تنفيذ البرنامج السابق أنه مسار العمل الحالي طبع مباشرة ً إلى جوار الجملة التي نريد طباعتها.

ماذا لو أردنا طباعة العبارة في سطر منفرد؟

يمكننا ذلك باستخدام ما تسمى بالحروف البيضاء White Characters .

لنعيد كتابة الكود السابق  لكي يطبع العبارة السابقة في سطر منفرد.

تمرين :

أعد كتابة الكود لكي تطبع الجملة بالشكل التالي:

About زين العابدين

مهندس حواسيب - معهد IDA - جامعة Braunshweig التقنية.
هذا المنشور نشر في دروس في البرمجة. حفظ الرابط الثابت.

أضف تعليقاً

إملأ الحقول أدناه بالمعلومات المناسبة أو إضغط على إحدى الأيقونات لتسجيل الدخول:

WordPress.com Logo

أنت تعلق بإستخدام حساب WordPress.com. تسجيل خروج   / تغيير )

صورة تويتر

أنت تعلق بإستخدام حساب Twitter. تسجيل خروج   / تغيير )

Facebook photo

أنت تعلق بإستخدام حساب Facebook. تسجيل خروج   / تغيير )

Google+ photo

أنت تعلق بإستخدام حساب Google+. تسجيل خروج   / تغيير )

Connecting to %s