1 / 32

المحاضرة الثانية

المحاضرة الثانية. محتويات المحاضرة. مراحل عمل أي برنامج في لغة C++ أنواع البيانات الإعلان عن المتغيرات الثوابت إسناد القيم إلى المتغيرات واجهة برنامج visual studio 2010. مراحل عمل أي برنامج في لغة C++.

kibo-lucas
Download Presentation

المحاضرة الثانية

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. المحاضرة الثانية

  2. محتويات المحاضرة • مراحل عمل أي برنامج في لغة C++ • أنواع البيانات • الإعلان عن المتغيرات • الثوابت • إسناد القيم إلى المتغيرات • واجهة برنامج visual studio 2010

  3. مراحل عمل أي برنامج في لغة C++ • تمر برامج لغة السي ++ بعدة مراحل رئيسية قبل تنفيذها, ونستطيع القول بأنها تمر بـ 6 مراحل رئيسية:

  4. Creating a Programالمرحلة الأولى: إنشاء البرنامج . كتابة برنامج ++C في اي editor ( محرر ) وتعديل الكود • عند الانتهاء من كتابة البرنامج نقوم بحفط الملف في RAM • nameOfFile.cpp  • nameOfFile.cxx • nameOfFile.cc • nameOfFile.C تحفظ الملفات البرمجية (source code ) في القرص (الهاردسيك) أشهر الصيغ

  5. المرحلة الثانية والثالثة :   ترجمة ومعالجة البرنامجPreprocessing and Compiling a C++ Program  في هذه المرحلة عندما يقوم المبرمج بعميلةcompiling للبرنامج وهي العملية التي يقوم فيه المترجمcompiler بتحويل البرنامج من اللغة عالية المستوىHigh Level Programming Language إلى لغة الآلةmachine code قبل هذي المرحلة تنفذ مرحلة المعالجةPreprocessingوهي عبارة عن مجموعة من الاوامر تجعل الكومبايلر يقوم بتحويل اجزاء من الكود الى لغة الآلة بناءاً على تلك الاوامر وتسمى هذه الاوامر بتوجيهات المعالج 010010110111101110011111 Preprocessing compiling Compiler

  6. المرحلة الرابعة : الربط Linking  بداية يجب ان نعرف ان لكل البياناتdata أوالدوالfunctionsالموجودة في أي برنامج في ++Cلها مرجع مُعرف في مكان ما. إما مُعرفة عن طريق المكتباتالمستخدمة في البرنامج او عن طريق المكتبات المنشأه من قبل المبرمجين انفسهم. عندما يقوم المترجم بتحويل الكود من اللغة عالية المستوى الى لغة الآلة يقوم الواصلlinker بربط الدوال والبياناتبلـغة الآلة machine codeمن أجل انشاء البرنامج النهائي executable image بمعنى انه إذا تمت عميلة الترجمة Compilingبشكل صحيح بالإضافة إلى عميلة الربطlinkingيتم انشاء البرنامج النهائي executable image المرحلة الخامسة : التحميل Loading  قبل مرحلة تشغيل اي برنامج يقوم  المحمل Loaderبسحب البرنامج النهائيexecutable imageمن القرص (Hard disk) وإضافته إلى الذاكرة الرئيسيةRAMمن اجل الاستعداد لتشغيل البرنامج بالإضافة إلى إضافة جميع المكتبات المستخدمة في البرنامج. المرحلة السادسة : التنفيذ Execution في المرحلة الأخيرة يقوم الكمبيوتر بتشغيل البرنامج عن طريق وحدة المعالجة المركزية CPU بتنفيذ أوامر البرنامج. أمر واحد في كل مره.

  7. صورة توضيحية للمراحل

  8. أنواع البيانات أنواع البيانات الأساسية للغة الـ C++

  9. الأسماء التعريفية :Identifiers • هي الكلمات/ الأسماء التي ينتقيها المبرمج ليسمي بها المتغيرات والثوابت التي يحتاج إلى تعريفها داخل • البرنامج (لابد من تعريف اي بيانات قبل استخدامها في C++). • وتطلق الأسماء التعريفية على : • المتغيرات :هي أسماء تحجز مواقع في الذاكرة لحفظ البيانات داخلها . • الدوال . • المؤشرات. • قواعد تسمية الأسماء التعريفية في لغة C++ : • ١- أن يبدأ بحرف أو بخط تحتي "_” مثل :int _new وint new ,ولا يمكن أن يبدأ الاسم برقممثل : • int 7new • ٢- أن لا يحتوى الاسم على رموز خاصة مثل :int age%عدا الخط التحتي "_” • 3- لا يمكن أن يحتوي على فراغ مثل:int a ge • 3- أن لا يكون الاسم إحدى الكلمات المحجوزة مثل : char do. • بعض الأمثلة الصحيحة على الأسماء التعريفية : • B6 .aX_ray .b • Matrix .cOk_ .d • A .eSoft_fine .f • Door12 .g

  10. هل الأسماء التعريفية التالية صحيحة أو خاطئة مع ذكر السبب : خاطئة .. لأنها بدأت برقم وليس بحرف int 7_age صحيحة char Student خاطئة .. لأنها احتوت على رمز خاص وهو # int Number# خاطئة .. لأنها احتوت على فراغ (مسافة) int Student name صحيحة intStudentId

  11. ومن الجدير بالذكر، أن لغة C++تفرق بين الحروف الأبجدية الصغيرة والكبيرة فمثلا الأسماء:SYSTEM , system, System ,sySTem تُعامل كأسماء مختلفة عن بعضها البعض بسبب اختلاف معاملة المترجم للحروف الصغيرة والكبيرة. اختيار أسماء معبرة ذات دلالة ومعنى واضح للمتغيرات يجعل البرنامج أكثر تعبيراُ عن مضمونه أي أنه يصبح أكثر سهولة للفهم.

  12. الإعلان عن المتغيرات: في لغة C++ يجب أن يعلن عن المتغيرات مسبقا (أي قبل تخصيص أي قيمة لها ) والا فلن يتعرف لها الكومبايلر الصيغة العامة للإعلان عن المتغيرات: مثال: inta; float MyNumber; double b; وللإعلان عن عدّة متغيرات من نوع واحد فيمكننا الاعلان عنها بعبارة واحده ويُفصل بين كل متغير والآخر بعلامة فاصلة (,) : inta,b,c; وهو اختصار للتالي : int a; int b; int c;

  13. المتغيرات النصية : • المتغير من النوع char • يتم تخزين الأحرف في متغيرات من النوع char • الحرف : هو حرف أو رمز أو رقم موضوع بين علامتي التنصيص المفردة ( ‘ ‘ ) مثل ‘C’ • لتعريف متغير من النوع char: • char variable_name; • مثال:- • char ba; • تنشئ مساحة من الذاكرة لحرف واحد فقط وتسميه ba. لتخزين حرف ما في هذا المتغير نكتب • ba='z‘ • يمكن استعمال المتغيرات من النوع char لتخزين أرقام كاملة بدلاً من أحرف ، فمثلاً يمكننا كتابة: • ba=2; • لكن نطاق القيم الرقمية التي يمكن تخزينها في النوع char يتراوح بين –128 إلى 127 لذا فإن هذه الطريقة تعمل مع الأرقام الصغيرة فقط.

  14. المتغيرات النصية : • المتغير من النوع string • يتم تخزين سلسلة من الأحرف في متغيرات من النوع string • الحرف : هو مجموعة من الحروف أو رموز أو أرقام موضوعة بين علامتي التنصيص ( “ “) مثل ”NAME“ • لتعريف متغير من النوع string : • String variable_name; • مثال:- • string NAME; • تنشئ مساحة من الذاكرة وتسميه NAME. لتخزين قيمة ما في هذا المتغير نكتب • NAME = “SARA”

  15. 2. المتغيرات الصحيحة : • المتغير من النوع int • يوجد هناك انواع عديد لتعريف المتغيرات الصحيحة, و لكن الاكثر استخدام هو المتغير intالذي يحجز مساحة قدرها 4-byte في أنظمة 32-bit و2-byte في أنظمة 16-bit و هو يكفي لاستخدامه في حلقات التكرار و بعض العمليات الرياضية البسيطة. • لتعريف متغير صحيح من النوع :int • ولتعريف عدّة متغيرات: أو نستطيع اختصار ماسبق بتعريف المتغيرات بنفس السطر بهذه الطريقة : نفصل بين أسماء المتغيرات بـ(,)

  16. النوع long و short • بالاضافة الى النوع Intيوجد هناك long و short يمثلان الاعداد الصحيحة . يعتمد حجم الذاكرة المحجوزة لنوع intعلى نوع النظام المستخدم, و ما يميز هذين النوعين هو ان حجمهما ثابت تحت ظل أي نظام . • لتعريف المتغير من هذه الانواع إليكِ هذا المثال :

  17. 3- المتغيرات الحقيقية: • متغير من النوع double • يتيح لكِ امكانية تعريف متغير حجمه 8-byte و القيم التي يحتويها خيالية . في الحقيقة يستخدم هذا النوع لتعريف متغير يحمل ارقام كسرية و يخزنها بشكل كسري: • أي قيمة يتم تخزينها تُحول إلى رقم كسري و إن كانت رقم صحيح, كمثال الرقم 29 يخزنه المتغير double بشكل 29.0 و هكذا يتعامل مع باقي الأرقام. • المتغير من النوع float • إن كنت تنوين استخدام ارقام كسرية بسيطة فأنصحك باستخدام النوع float بدل double المشكلة التي تبرز مع النوع double هو عند تعريف عشرات المتغيرات من هذا النوع, فإنها تستهلك مساحة بالذاكرة مما يمنح برنامجك البطئ عند التنفيذ.

  18. 4- النوع غير المعلّمةunsigned افتراضيا المتغيرات التي تحدثنا عنها قبل قليل تحمل الأرقام الموجبة و السالبة معاً. إن اردت اجبارها على حمل الارقام الموجبة فقط فما عليك سوى إدراج الكلمة المحجوزة unsigned في بداية تعريف المتغير: بعد إجبارك للمتغيرات على حمل القيم الموجبة, لا تحاولين وضع أي قيم سالبة مهما حدث:

  19. 5- المتغيرات المنطقية : • المتغير المنطقي bool • المتغير المنطقي boolالذي يحتوي على قمتين اما true أو false وهذه القيمتين ما هي الا ارقام صحيحة فالـ trueتعني واحد 1 أما الـ falseتعني 0 , يحجز هذا المتغير مساحة قدرها 1-byte

  20. إسناد القيم للمتغيرات بعد تعريف المتغير يمكن ان نضع له قيمة تناسب نوعه و الفضل يعود الى المُعامل ( = ) الذي يقوم بوضع القيم من اليمين الى المتغير الموجود على اليسار: لا يقتصر الامر هنا على وضع قيمة بعد التعريف . بل ويمكن وضع قيم اثناء التعريف , و تسمى القيمة الابتدائية initial value: و لتعريف اكثر من متغير و وضع قيم لها:

  21. الثوابت • الثوابت هي مواقع لحفظ البيانات كالمتغيرات لكن المتغير يمكن تبديل قيمته على عكس الثابت الذي يثبت على قيمته الأساسية ,وبالتالي فيمكن القول بأنها عبارة عن متغيرات تحمل قيم ثابته طيلة زمن تنفيذ البرنامج . • يتم الاعلان عن الثوابت عن طريق استخدام الكلمة المحجوزة const • الصيغة العامة للإعلان عن الثوابت تأخذ شكلين وهما : • مثال : • float const pi=3.14; • int const max= 5000; • أو • const float pi=3.14; • const int max= 5000;

  22. الكلمات المحجوزة في أي لغة برمجية توجد كلمات تُستخدم من قبل اللغة لتعريف دوالها او كائناتها الخاصة, لغة C++تحتوي أيضا على هذه الكلمات و لا تستطيع ان تستخدمها لتعريف متغيرات أو دوال أو كائنات. إذاً الكلمات المحجوزة هي: هي كلمات معرّفة مسبقاً لمترجم الـ C++ ولها معنى خاص وتؤدي وظيفة معينة و لا يجوز إعادة تعريفها أو استعمالها في غير ما خُصصت له. • بعض الكلمات المحجوزة في لغة الـ C++:

  23. عرفي المتغيرات التالية : intx,y,z; X و y و z أرقام صحيحة n و m أرقام حقيقة float m,n; cn حرف char cn;

  24. واجهة برنامج • visual studio 2010

  25. لإنشاء مشروع جديد: file –> new -> Project

  26. 3 1 2 تسمية المشروع 4 5

More Related