Presentation is loading. Please wait.

Presentation is loading. Please wait.

جامعة البحر الاحمر كلية العلوم التطبيقية قسمي الحاسوب وتقنية المعلومات الفصل الداسي الثاني المقرر: اساليب برمجة 1 محاضرة رقم 1 د. خالد عثمان العالم.

Similar presentations


Presentation on theme: "جامعة البحر الاحمر كلية العلوم التطبيقية قسمي الحاسوب وتقنية المعلومات الفصل الداسي الثاني المقرر: اساليب برمجة 1 محاضرة رقم 1 د. خالد عثمان العالم."— Presentation transcript:

1 جامعة البحر الاحمر كلية العلوم التطبيقية قسمي الحاسوب وتقنية المعلومات الفصل الداسي الثاني المقرر: اساليب برمجة 1 محاضرة رقم 1 د. خالد عثمان العالم

2 توزيع مفردات مقرر لغة C++
المتغيرات وانواع البيانات وجمل الادخال والاخراج المؤثرات operators (الرياضية، المنطقية،المقارنة، الثنائية) الجمل الشرطية Conditional Statements (جملة if، جملة switch ) جمل التكرار Iteration Statements (حلقة for ، حلقة while، حلقة do while ). المصفوفات الاحادية One Dimensional Arrays. المصفوفات الثنائية Two Dimensional Arrays . الدوال Functions. المؤشرات pointers.

3 مفهوم البرمجة جهاز الحاسب الآلـي آلــة تنفذ ما يأتيها من أوامـــر بدقـة عالية. حيث تكـون هذه الأوامـر مكتوبــة فيمـا يسمى ( برنامج ). وجميع البرامج تكون مكتوبة على هيئة سلسلة من الأوامر اليسيرة التي ينفذها الحاسب الآلي لتخرج لنا بالشكل الذي نراه. هذه الأوامر تكتب بلغة معينة يفهمها جهاز الحاسب.

4 الفرق بين المبرمج ومستخدم البرنامج
المبرمج : هو من يقوم بكتابة البرامج ، حيث تمر العملية بعدة مراحل هي : 1 ) مرحلة فهم وتحليل المشكلة. 2 ) كتابة سلسلة من الأوامر لحل المشكلة. 3 ) اختبار البرنامج والتأكد من صحة عمله. 4 ) تحويل البرنامج إلى صيغة تنفيذية ، تمثل الشكل النهائي الذي يحتوي على الواجهة التي يراها المستخدم. المستخدم : هو من يستخدم البرنامج، حيث تظهر له واجهة البرنامج ولن تظهر له الأوامر التي كتبها المبرمج.

5 تابع لغات البرمجة لغات البرمجة : همزة الوصل بين الانسان وجهاز الحاسب
البرنامج: هي مجموعة من التعليمات المتسلسلة والمترابطة لتنفيذ مهمة محددة و تكتب بأحدى لغات البرمجة. تتفاوت لغات البرمجة من حيث نوعية التطبيقات و بيئة التشغيل وطريقة التفاعل بين المستخدم والتطبيق والوسط الذي يتم خلاله التفاعل

6 تابع لغات البرمجة أقسام لغات البرمجة لغات عالية المستوى
لغات برمجة كائنية لغة برمجة اجرائية لغات منخفضة المستوى لغة التجميع لغة الالة

7 اللغات المنخفضة المستوى L.L.L(Low Level Languages)
لغة الالة Machine languages تكتب الأوامر في لغة الآلة على شكل سلسلة من الأرقام الثنائية ( الصفر والواحد ) حتى يفهمها جهاز الحاسب الآلي وهي اللغة الوحيدة التي يفهمها الحاسب. تُحول جميع اللغات الى لغة الآلة حتى تتمكن معدات الحاسب الآلي من التفاهم معها. مميزاتها : سرعة التنفيذ لأنها تخاطب وحدة المعالجة مباشرة عيوبها : غير مرنة (صعوبة كتابة وتصحيح برامجها). غير عمومية (برامجها تعتمد على نوع الآلة).

8 اللغات المنخفضة المستوى L.L.L(Low Level Languages)
2 لغة التجميع Assembly language : أقرب الى لغة الآلة. تُكتب الأوامر على هيئة اختصارات مفهومة باللغة الإنجليزية يسهل تذكرها. ويوجد مترجم يحول أوامر لغة التجميع إلى الصفر والواحد حتى يفهمها الجهاز وينفذها. تتعامل أوامر لغة التجميع مع مكونات جهاز الحاسب الداخلية مباشرة. مميزاتها: - سهولة حفظها وكتابتها. مثال : LD A , D (تحميل المسجل A بمحتوى المسجل D) عيوبها : - غير عمومية ( مصممة للعمل على حاسب معين وتحتاج لوسيط لتحويل البرنامج لبرنامج بلغة الآلة يسمي الوسيط مجمع (Assembler)) 8

9

10 لغات المستوى العالي High_Level languages
بظهور اللغات ذات المستوى العالي أصبحت عملية التخاطب والتعامل مع الحاسب أسهل نسبياً وذلك لأن لغة التعامل مع الحاسب أصبحت قريبة من لغة البشر. بعض مميزات هذه اللغات: قريبة من لغة الانسان. مرنة(سهولة في كتابة وتعديل وتصحيح البرامج). عمومية (عدم الارتباط بآلة معينة). توفير الوقت والجهد عيوبها : بطء التنفيذ لاحتياجها لوسيط يقوم بتحويل البرنامج المصدر (Source Code) المكتوب باحدى هذه اللغات الى البرنامج الهدف (Object Code) المكتوب بلغة الآلة . ومن الطبيعي لبرنامج مكتوب بلغة عالية المستوى أن يترجم إلى برنامج بلغة الآلة, ويطلق على البرنامج المكتوب باللغة عالية المستوى برنامج المصدر أو كود المصدر والبرنامج المترجم يطلق عليه في هذه الحالة المترجم (Compiler).

11 اللغات عالية المستوى H.L.L(High Level Languages)
- يوجد نوعان من الوسيط : 1- المفسر (Interpreter): برنامج يفحص و يترجم البرنامج المصدر Source code لبرنامج هدف (Object code) مكتوب بلغة الآلة. ينفذه سطر بسطر فإذا وجد خطأ يتوقف عن الترجمة و التنفيذ حتى نصحح الخطأ. يتكرر ذلك حتى يصير البرنامج خالي من الأخطاء - عيوبه : 1. البطء. 2. اعادة اختبار البرنامج في كل مرة يطلب فيها اعادة تنفيذه 2- المترجم (Compiler): - يراجع جميع اوامر البرنامج المصدر ثم يصدر قائمة بالأخطاء ان وجدت ثم يترجم المصدر الى برنامج هدف.

12 اقسام اللغات عالية المستوى
لغات البرمجة الاجرائية(Procedural Programming Language) تستخدم المتغيرات وجمل الاسناد و جمل التحكم وجمل التكرار لكتابة البرنامج الاجرائى امثلة : لغة البيسك (Basic Language):طورت لمساعدة المبتدئين من كتابة برامجهم نظرا لبساطة تعليماتها, من اللغات المفسرة لغة فورتران(FORTRAN Language):تستخدم في المجال العلمي والهندسي, من اللغات المترجمة لغة كوبول (COBOL Language): متخصصة في الأعمال المالية والتجارية , من اللغات المترجمة. لغة باسكال (PASCAL Language): تميزت بالسهولة والبساطة وقوة البرامج الفرعية, من اللغات الهيكلية المترجمة. لغة سي (C-Language):تمتعت بامكانية العمل على حواسيب مختلفة. 12

13 تابع اقسام اللغات عالية المستوى
2. لغات البرمجة موجهة الاهداف (Object Oriented Programming Language) تدعم مقومات مبنية على اساس كل كائن فى الحياة ينتمي الى طبقة أو صنف و كل طبقة تنحدرمن طبقة أعلى. من هذه المقومات: التغليف, اخفاء البيانات, الوراثة, اعادة الاستعمال . تدعم اسلوب البرمجة المرئية (تصميم الواجهات الرسومية) من امثلتها : visual basic , visual c++ , java builder 13

14 مقارنة بين البرمجة الإجرائية والبرمجة بالكائنات
1 البرنامج يتحكم في مسار تنفيذه أمراً بعد أمر المستخدم ونظام التشغيل والبرنامج جميعها تتحكم في مسار تنفيذ البرنامج 2 صعوبة إنشاء واجهة للمستخدم سهولة إنشاء واجهة للمستخدم 3 صعوبة الربط مع قواعد البيانات المختلفة. سهولة الربط مع قواعد البيانات المختلفة. 4 يتم كتابة الأوامر والتعليمات من المستخدم لتنفيذ البرنامج يتم استخدام الكائنات لتنفيذ البرنامج

15 مقدمة عن لغة البرمجة C++
لغة البرمجة C++ تاريخها يرجع الى عام 1979 عندما كان يعمل بجارن ستروسترب Bjarne Stroustrup فى رسالته للدكتوراه.

16 تابع مقدمة عن لغة البرمجة C++
هي لغة برمجة عالية المستوى متعددة الاستخدام. وتعتبر لغة برمجة كائنية Object Oriented Programming. اعتبرها الكثيرون اللغة الأفضل لتصميم التطبيقات ذات الواجهة الكبيرة ، وذلك لسرعتها في التنفيذ والتي لا تختلف كثيرًا عن لغة C. توفر تعامل أكثر تعقيدًا مع البيانات. لغة C++ من لغات البرمجة العالية المستوى وفي نفس الوقت قريبة من لغة التجميع ذات المستوى المنخفض. كما أنها تعد لغة برمجة إجرائية ولغة غرضية التوجه.

17 مميزات لغة C++ بالإضافة إلى المزايا الموجودة في لغة C العديد تدعم لغة C++العديدة من المزايا الجديدة، نذكر منها الآتي :- تدعم لغة C++ البرمجة الغرضية التوجه (00P) Object Oriented Programming وهي تمكن المبرمج من كتابة برامج تدعم النهج الجديد في البرمجة وهو البرمجة الموجهة نحو الأشياء (OOP) والتي فيها يتم تحليل وتصميم النظام بعد تحديد مكوناته, و لكل مكون يتم تحديد خصائصه، والعمليات المعرفة عليه(الصفوف والكائنات Classes and Objects، التحميل الزائد للعمليات، القوالب Templates، التعددية الشكلية polymorphism، الوراثة) أستخدام الرمز // لتضمين الملاحظات بطول سطر واحد والتي يتم تجاهلها من قِبل المترجم عند القيام بعملية الترجمة.

18 تابع مميزات لغة C++ الإعلان الحر للمتغيرات free variable declaration .
الإعلان عن الثوابت constant:- في c++ يتم استخدام الكلمة المحجوزة const للإعلان عن الثوابت كلآتي :- Data type const constant_ name = value Const data type constant_ name = value ومن مزايا هذه الطريقة تساعد المترجم على فحص الأنواع type checking وحجز ذاكرة تتناسب ونوع الثابت.

19 تابع مميزات لغة C++ المراجع:References التمدد السطري Inline expansion
وهو عبارة عن اسم آخر لمتغير موجود وأكثر ما تستخدم المراجع في C++ في الاستدعاء بالعنوان بالدوال بدلا من استخدام المؤشرات في C . التمدد السطري Inline expansion وهي ميزه تتعلق بالدوال ذات الحجم البسيط، حيث يتم إدخال سطور الدالة ضمن البرنامج الرئيسي أثناء زمن الترجمة حتى يتم تنفيذ البرنامج بشكل أسرع .

20 سبب صعوبتها ربما تعود أسباب صعوبة لغتي C و C++لأسباب تاريخية أكثر منها واقعية وهو ما يردده المبرمجين المعتادين على استخدام C++ وهذا يعود بنا إلى أصل لغة C وهي لغة CPL والتي اشتهرت بشدة تعقيدها مما تسبب في ابتعاد المبرمجين عنها فتم تطويرها وتبسيطها إلى لغة BCPL ولم تلقى الكثير من النجاح ولكنها تطورت إلى لغة البى B وعندما أرادو تطويرها سموها C(وهذا هو أصل تسمية C)، وبالطبع ورثت C++خصائص لغة C. إلا أنه لا يمكن إنكار أن مفاهيم مثل المؤشرات pointers، والإشارات هي مفاهيم مربكة للمبرمج المبتدئ، بالإضافة إلى مفاهيم التوارث Inheritance وتعدد الشكل polymorphism والقوالب Templates التي تربك حتى المبرمجين المحترفين.

21 الهيكلة العامة لبرنامج السي++
موجه للمترجم الهيكلة العامة لبرنامج السي++ #include <library_name.h> Header Files استيراد المكتبات Public Declaration منطقة التصاريح العامة Subprograms الدوال الفرعية <Data Type> main () الدالة الرئيسية { بداية الدالة الرئيسية Private Declaration منطقة التصاريح الخاصة Statements; Program Body Statements; جمل برمجية Statements; return <value>; )option)القيمة الراجعة } نهاية الدالة الرئيسية يطلب من المترجم اضافة ملف آخر الى البرنامج قبل البدء في الترجمة

22 C++ components مكتبات السي ++: iostream.h وهي مكتبة الادخال والاخراج.
stdio.h وهي ايضا مكتبة ادخال واخراج. conio.h وهي مكتبة دوال اوامر الشاشة. math.h وهي مكتبة الدوال الرياضية. String.h مكتبة دوال معالجة النصوص.

23 البرنامج الاول بلغة++ C
لاحظ البرنامج كالتالي : // my first program in C++ #include <iostream.h> int main() { cout << "Hello World!"; return 0; } تعليق لا ينفذ تضمين أحد المكتبات القياسية بداية الدالة الرئيسية للبرنامج ونوعها الذي سوف يطبع على الشاشة قوس نهاية الدالة

24 البرنامج الثاني بلغة++ C
لاحظ البرنامج كالتالي : #include <iostream.h> // This program print “welcome to C++" on the screen void main() { cout << "Welcome to C++\n"; } المخرج من البرنامج بعد التنفيذ: Welcome to C++


Download ppt "جامعة البحر الاحمر كلية العلوم التطبيقية قسمي الحاسوب وتقنية المعلومات الفصل الداسي الثاني المقرر: اساليب برمجة 1 محاضرة رقم 1 د. خالد عثمان العالم."

Similar presentations


Ads by Google