هذه الخطوة مهمة جدا؛ فقد نكرت من قبل أن كل الطرق تؤدي إلى روما؛ ولكننا لن نصل أبدا
المطلوب من المسلّة جيدا.
بعد معرفة وفهم المشكلة نقوم بتصميم الحل أي البرنامج؛ تصميم البرنامج هو وضع
باستعمال الكود المزيف سيكون الحل المسلة كالتالي:
انما
1/1162 طتسبيد أمخرط
الخوة التالية في بناء البرنامج هي تحويل الخوارزمية إلى لغة يفهمها الحاسوب كالسي++.
الخوة الرابعة هي اختبار البرنامج للتأكد من خلوه من الأخطاء وأنه يحقق الهدف الذي من أجله
الخطوة الأخيرة تتمثل في توثيق البرنامج.
لغة السي++
حروف اللغة
حروف لغة سي++ هي التلية :
- الأرقام العربية وهي 0,1,2,3,4,5,6,7,8,9,10 .
- الرموز الخاصة مثل # ع8 9678 !.
- المعاملات مثل + ؛ ؛ >؛ + ؛ >> وهي من أهم مكونات اللغة .
- ولغة سي++ حساسة لحالة الأحرف أي أن 0111 ليست نفسها 00101 .
البرنامج الأول :
البرنامج التالي البسيط ييين تركيب البرنامج في لغة سي++
شرح البرنامج :
السطر الأول فيه يتم تضمين الملف 1080:6801 وهو مكتبة الإدخال والإخراج للغة سي++ ؛
وذلك لأن أساليب الإخراج والإدخال غير مضمنة في اللغة ؛ ولكنها موجودة في المكتبات
المضمنة مع اللغة ؛ ويتم التضمين باستخدام الأمر 10010106 أي ضمّن ؛ ويسمى أي ملف ينتهي
بالامتداد :[. بالملف الرأسي 1716 :116806 وهو يحتوي عادة على فئة وتراكيب بيانات دوال
وثوابث ؛ ويتم إنشاؤه عندما تكون هذه العناصر البرمجية عامة الاستخدام أي أنها ستستخدم في
عدة برامج ؛ ومن ثم بدل كتابتها كل مرة يتم كتابتها في ملف رأسي ثم تضمنيه كل مرة في
البرنامج الذي نحتاج فيه لهذه التركيبات .
والأمر 1021006 مسبوقٌ بالرمز # وكل أمر يسبق بهذا الرمز يسمى موجه ما قبل المعالجة
© انل :217601066880 ؛ أي أن مترجم اللغة يقوم بتنفيذ ما يمليه هذا الموجه قبل أن يقوم
بترجمة البرنامج ؛ فمثلا في السطر الأول من البرنامج فإن المترجم يقوم بتضمين الملف
1080000 في البرنامج الحالي قبل أن يترجمه .
السطر الثاني يحتوي على :840 118111650808 1151178 والتي تعني تضمين الملف 1080880007
التابع للمكتبة القياسية للسي++ . وإذا لم يتم كتابة هذا السطر يجب كتابة السطر الأول كلتلي:
أي زيادة د[ .
السطر الثالث بيدا بالرمزين //؛ أي نص يأتي بعد هذين الرمزين إلى نهاية السطر يسمى تعليقا
؛ وهو نص يكتبه المبرمج متى أراد لكي يكتب معلومات عن البرنامج؛ من التعريف بعمل
والغرض منها ؛ وهذا مهم جدا لتطوير البرنامج ؛ لأنه إن عدت إلى البرنامج بعد مدة وأردت
على تعليقات ؛ ولا يعني هذا كتابة التعليقات في كل مكان فالغرض هو كتابة البرنامج لا
التعليقات ؛ وإنما تكتب لتوضيحه ؛ ومن ثم ينبغي كتابتها في الأمكنة التي تحتاج إلى توضيح أما
التي لا تحتاج فلا داعي للتعليق عليها .
السطر الرابع يحتوي على الدالة الرئيسية 10081 وبعدها قوسان إذ كل دالة لا بد أن تتبع بقوسين
- سنتناول الدوال فيما بعد - ؛ هذه الدالة منها يتم بدء تنفيذ أي برنامج بالسي++ لذا فإنه لا بد
من وجودها ؛ ويتم تنفيذ الجمل البرمجية المحتواة داخلها .
في السطر الخامس يوجد القوس المنبعج ) والذي يعني بداية جسم الدالة الرئيسية .
السطر السادس ببداً بكلمة 001 وهي اختصار للجملة 0000010 000158 أي منهج الخرج
والذي هو الشاشة في نظام <(لالآ ؛ و 001 هو كائن يقوم بإخراج ما يأتي بعده على الشاشة
ويسمى بنهر أو مجرى الإخراج.
وهذا الكائن موجود ومعرف في المكتبة 1080:68:00 لذلك تم تضمينها مسبقا.
ويكتب بعد 01 علامتي أكبر من >> وهما معا يكونان معاملا يسمى معامل الإخراج والذي
يقوم بإرسال ما يأتي بعده إلى الكائن 60014 .
ولحفظ اتجاه العلامتين فإننا نعتبر أن 0018 هي الشاشة وأن العلامتين هما سهمان يشيران إلى
اتجاه البيانات كما في الشكل التالي :
بعد معامل الإخراج كتبت الجملة "++© 10 1776160006" وهي تبداً بعلامة التتصيص
المفردة ثم النص ثم علامة تنصيص أخرى ؛ كل ما يكتب بين علامتي تنتصيص فإنه يخرج
مثلما هو على الشاشة ؛ أي أن ناتج تنفيذ البرنامج هو التالي :
وجملة الإخراج السابقة قد انتهت بفاصلة منقوطة : لأنه في لغة السي++ كل جملة برمجية يجب
أن تنتهي بالفاصل المنقوطة ؛ والجملة البرمجية هي أي جملة قائمة بذاتها وتقوم بعمل ما بنفسها
ولا تعتمد على جملة تأتي بعدها .
ونسيان الفاصلة المنقوطة أكثر خط يقع فيه المبتدئون .
السطر قبل الأخير يحتوي على :0 16010 وهو تقوم بإنهاء البرنامج ؛ والرقم صفر يعني
انتهاء البرنامج بنجاح .
السطر الأخير يوجد فيه القوس ( والذي يعني نهاية جسم الدالة الرئيسية.
والتركبية السابقة ثابتة وضرورية في كل برنامج سي++.
عملية الإخراج :
مر بنا فإن الكائن )00 هو المتحكم في إخراج البيانات على شاشة الحاسب ؛ وهو كائن
ويمكن أن نقوم بإخراج أكثر من عنصر بيانات في المجرى الواحد باستخدام معامل الإخراج
قبل كل عنصر نريد إخراجه كالتلي :
وبالطبع هو لا يقوم بإخراج النصوص فقط ولكن الأعداد بكل أنواعها ونواتج العمليات الحسابية
ولغة اللسي++ تعطي حرية كبيرة في كتابة الكود بعدة أشكال وكيفما يريد المبرمج ؛ من ثم
يمكن كتابة جملة الإخراج في أكثر من سطر بحيث ينبغي أن بيتدئ كل سطر بمعامل الإخراج +
أي يمكن كتابة الجملة السابقة كلتلي :
+5" >>انام
ويمكن تنسيقها لتكون في صورة أفضل كلتلي :
وللذهاب إلى سطر جديد يتم استخدام الكلمة 6001 والتي هي اختصار 1:06 600 أي نهاية
السطر في أي مكان في جملة الإخراج كلتالي :
:106 ممع" كلفد >>" عدنا 15" >كانام
كما يوجد في اللغة بعض الرموز الحرفية الخاصة والتي تسمى بحروف الهروب 1256806
035 وتقوم بوظائف معينة عند إخراج البيانات على الشاشة ؛ وهي أحرف مفيدة
للمبرمج ؛ وهذه الحروف لا بد أن تكون مكتوبة بين علامتي تنصيص سواء أكانت بجانب نص
أو مفردة ؛ وهي تتكون من رمزين أولهما الرمز ١ حيث أن أي حرف أو رمز بعد هذا الرمز
يعامل معاملة خاصة ؛ ولإظهار الرمز ١ على الشاشة تكتب جملة الإظهار كلتلي :
والجدول التالي ييين بعض هذه الحروف :
الحرف التأثير
م سطر جديد
طا مسافة إلى الخلف
ل الرجوع إلى بداية السطر
8 الإنذار بالجرس
د لطباعة علاممة التتصيص '
1 لطباعة علامة التتصيص "
7 الطباعة علامة الاستفهام 7
المتغيرات هي أسماء لمواقع في الذاكرة العشوائية 18/414 ؛ هذه المواقع يتم فيها تخزين
البيانات حسب نوع المتغير ؛ وهذه البيانات يتم التعامل معها في البرنامج لأداء المطلوب منه ؛
التي يتعامل معها الحاسب .
وكل خلية من الذاكرة يعطيها نظام التشغيل عنوانا في هيئة النظام السداسي عشر شبيه بالتالي
2 ومن المستحيل إذا أردت استخدام هذه الخلايا لتخزين البيانات فيها أن تقوم بحفظ
عناوينها ولذا يتم استخدام المتغيرات لإعطاء الخلايا أسماء واضحة تسهل علينا التعامل مع
الذاكرة ؛ كما أن المتغيرات يمكن أن تكون تجميعا لأكثر من خلية ذاكرة إذا لم تكن الخلية
الواحدة كافية لحفظ قيمة المتغير.
والمتغيرات من أساسيات البرمجة ؛ وكل برنامج حقيقي لا بد أن يحتوي عليها .
قيمة المتغير :
هي القيمة التي سيتم تخزينها في الخلية أو الخلايا المعبر عنها باسم المتغير ؛ وهي قيمة غير
ثابتة بل يتم تغييرها حسب ما يريد المبرمج .
مما سبق فإنه إذا تم تعريف متغير صحيح اسمه 1 يحتوي على الرقم 5 ؛ فيمكن تمثيل هذا
المتغير بالشكل التالي:
أنواع المتغيرات :
هناك أنواع للمتغيرات بحيث أن المتغير من النوع س يخثلف عن المتغير من النوع ص من
الأنواع الرئيسية :
النوع الصحيح :171686 :
ولتعريف متغير يتم كتابة كلمة (رز وهي الثلاثة
المراد تعريفها كالتالي :
ين الأعداد الصحيحة فيه ؛ والعدد يمكن أن يكون موجبا أو سالبا ؛
أحرف الأولى من :1:1]686 وبعدها اسم المتغير
جسنت طلا
ولتعريف أكثر من متغير في جملة واحدة يتم الفصل بين أسماء المتغيرات بالفاصلة كالتالي :
التخصيص :
يتم تخصيص أو إسناد القيم وتخزينها في المتغيرات بكتابة اسم المتغير ثم معامل التخصيص -
تثم القيمة المراد تخصيصها ؛ فلتخصيص القيمة 10 للمتغير 8 والقيمة 5 للمتغير ا نكتب
ويمكن كتبة جملتي التخصيص السابقتين معا بشرط الفصل بينهما بالفاصلة كلتلي :
وإذا أريد تخصيص القيمة 10 للمتغيرين فيمكن كتابة التالي:
حيث يتم حساب ناتج العملية الحسابية ثم تخصيصه للمتغير .
ويمكن أن يتواجد داخل التعبير الرياضي متغير مثل :
ويمكن للتخصيص أن يكون متسلسلا كلتلي :
القيم الابتدائية :
يمكن أن تُخصص للمتغيرات قيم ابتدائية في جملة االإعلان عنها كالتالي :
ولا يمكن كتابة الجملة السابقة كلتلي:
وسيظهر المترجم رسالة خطأ وذلك لأن عملية التعريف تبداً من اليسار ومن ثم فإن المتغير 8
سيعرف بعد المتغير 0 ؛ ولذلك فعند إسناد قيمة 8 إلى «ا يكون المتغير 8 غير معرف .
وإذا تم إسناد قيمة كسرية للمتغير الصحيح فإن العدد الكسري سيتم حذفه ويتم تخزين القيمة
ولأن المتغير يشير إلى عنوان خلية في الذاكرة فإنه يمكن الحصول على هذا العنوان باستخدام
معامل العنوان «ى كالتالي:
وكل متغير له قيمة صغرى وقيمة عظمى من البيانات التي يتعامل معها ليقوم بتخزينها ولا
يمكنه أن يخزن أكثر من القيمة العظمى ولا أقل من الصغرى ؛ وإذا ما تم إسناد قيمة أكبر من
القيمة العظمى أو أصغر من القيمة الصغرى - وهذا ما يسمى بالفائض الحسابي 0176:1017 -
وفي الحقيقة ما يحدث أنه إذا كانت القيمة أكبر من القيمة العظمى فإنه يتم الذهاب إلى القيمة
الصغرى والزيادة منها بحسب القيمة المتبقية من طرح القيمة العظمى من القيمة المسندة .