You are on page 1of 23

‫د‪ /‬مطهر حنش‬

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

‫هي مجموعة من التعليمات المتسلسلة والمترابطة لتنفيذ مهمة محددة و تكتب‬


‫بأحدى لغات البرمجة‪.‬‬

‫تتفاوت لغات البرمجة من حيث نوعية التطبيقات و بيئة التشغيل وطريقة التفاعل‬
‫بين المستخدم والتطبيق والوسط الذي يتم خالله التفاعل‬

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

‫‪ 2‬لغة التجميع ‪: Assembly language‬‬


‫•أقرب الى لغة اآللة‪.‬‬
‫•تُكتب األوامر على هيئة اختصارات مفهومة باللغة اإلنجليزية يسهل تذكرها‪.‬‬
‫• ويوجد مترجم يحول أوامر لغة التجميع إلى الصفر والواحد حتى يفهمها الجهاز وينفذها‪.‬‬
‫•تتعامل أوامر لغة التجميع مع مكونات جهاز الحاسب الداخلية مباشرة‪.‬‬
‫مميزاتها‪:‬‬
‫‪ -‬سهولة حفظها وكتابتها‪.‬‬
‫مثال ‪( LD A , D :‬تحميل المسجل ‪ A‬بمحتوى المسجل ‪)D‬‬
‫عيوبها ‪:‬‬
‫‪ -‬غيـر عموميـة ( مصـممة للعمـل علـى حاسـب معيـن وتحتاج لوسـيط لتحويـل الـبرنامج لـبرنامج بلغـة اآللـة يسـمي‬
‫الوسيط مجمع (‪))Assembler‬‬
‫‪8‬‬
‫لغات المستوى العالي ‪High_Level languages‬‬
‫‪ ‬بظهور اللغات ذات المستوى العالي أصبحت عملية التخاطب والتعامل مع الحاسب أسهل‬
‫نسبيا ً وذلك ألن لغة التعامل مع الحاسب أصبحت قريبة من لغة البشر‪.‬‬
‫‪‬بعض مميزات هذه اللغات‪:‬‬
‫‪ -‬قريبة من لغة االنسان‪.‬‬
‫‪ -‬مرنة(سهولة في كتابة وتعديل وتصحيح البرامج)‪.‬‬
‫‪-‬عمومية (عدم االرتباط بآلة معينة)‪.‬‬
‫‪ -‬توفير الوقت والجهد‬
‫عيوبها ‪:‬‬
‫‪ -‬بطـء التنفيـذ الحتياجهـا لوسـيط يقوم بتحويـل الـبرنامج المصـدر (‪ )Source Code‬المكتوب باحدى هذه‬
‫اللغات الى البرنامج الهدف (‪ )Object Code‬المكتوب بلغة اآللة ‪.‬‬
‫‪‬ومن الطبيعي لبرنامج مكتوب بلغة عالية المستوى أن يترجم إلى برنامج بلغة اآللة‪ ,‬ويطلق على‬
‫البرنامج المكتوب باللغة عالية المستوى برنامج المصدر أو كود المصدر والبرنامج المترجم يطلق عليه في‬
‫هذه الحالة المترجم (‪.)Compiler‬‬
‫اللغات عالية المستوى )‪H.L.L(High Level Languages‬‬
‫‪ -‬يوجد نوعان من الوسيط ‪:‬‬
‫‪ -1‬المفسر (‪:)Interpreter‬‬
‫• برنامج يفحص و يترجم البرنامج المصدر ‪ Source code‬لبرنامج هدف (‪ )Object code‬مكتوب بلغة اآللة‪.‬‬
‫• ينفذه سطر بسطر فإذا وجد خطأ يتوقف عن الترجمة و التنفيذ حتى نصحح الخطأ‪.‬‬
‫•يتكرر ذلك حتى يصير البرنامج خالي من األخطاء‬
‫‪ -‬عيوبه ‪:‬‬
‫‪ .1‬البطء‪.‬‬
‫‪ .2‬اعادة اختبار البرنامج في كل مرة يطلب فيها اعادة تنفيذه‬
‫‪ -2‬المترجم (‪:)Compiler‬‬
‫‪ -‬يراجع جميع اوامر البرنامج المصدر ثم يصدر قائمة باألخطاء ان وجدت ثم يترجم المصدر الى برنامج‬
‫هدف‪.‬‬
‫اقسام اللغات عالية المستوى‬
‫‪.1‬لغات البرمجة االجرائية(‪)Procedural Programming Language‬‬
‫‪‬تستخدم المتغيرات وجمل االسناد و جمل التحكم وجمل التكرار لكتابة البرنامج االجرائى‬
‫‪‬امثلة ‪:‬‬
‫• لغــة البيســك (‪:)Basic Language‬طورت لمســاعدة المبتدئيــن مــن كتابــة برامجهــم نظرا لبســاطة‬
‫تعليماتها‪ ,‬من اللغات المفسرة‬
‫•لغة فورتران(‪:)FORTRAN Language‬تستخدم في المجال العلمي والهندسي‪ ,‬من اللغات المترجمة‬
‫•لغة كوبول (‪ :)COBOL Language‬متخصصة في األعمال المالية والتجارية ‪ ,‬من اللغات المترجمة‪.‬‬
‫•لغـة باسـكال (‪ :)PASCAL Language‬تميزت بالسـهولة والبسـاطة وقوة الـبرامج الفرعيـة‪ ,‬مـن اللغات‬
‫الهيكلية المترجمة‪.‬‬
‫•لغة سي (‪:)C-Language‬تمتعت بامكانية العمل على حواسيب مختلفة‪.‬‬

‫‪12‬‬
‫تابع اقسام اللغات عاليةـ المستوى‬

‫‪ .2‬لغات البرمجة موجهة االهداف‬


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

‫‪13‬‬
‫مقارنة بين البرمجة اإلجرائية والبرمجة بالكائنات‬

‫البرمجة بالكائنات‬ ‫البرمجة اإلجرائية‬ ‫م‬


‫المستخدم ونظام التشغيل والبرنامج‬ ‫البرنامج يتحكم في مسار تنفيذه أمراً‬
‫‪1‬‬
‫جميعها تتحكم في مسار تنفيذ البرنامج‬ ‫بعد أمر‬

‫سهولة إنشاء واجهة للمستخدم‬ ‫صعوبة إنشاء واجهة للمستخدم‬


‫‪2‬‬
‫سهولة الربط مع قواعد البيانات المختلفة‪.‬‬ ‫صعوبة الربط مع قواعد البيانات‬
‫‪3‬‬
‫المختلفة‪.‬‬
‫يتم استخدام الكائنات لتنفيذ البرنامج‬ ‫يتم كتابة األوامر والتعليمات من‬
‫‪4‬‬
‫المستخدم لتنفيذ البرنامج‬
‫لغة البرمجة ‪ ++C‬تاريخها يرجع الى عام ‪ 1979‬عندما كان يعمل بجارن‬
‫ستروسترب ‪ Bjarne Stroustrup‬فى ر‪E‬سالته للدكتوراه‪.‬‬
‫تابع مقدمة عن لغة البرمجة ‪++C‬‬
‫‪‬هي لغة برمجة عالية المستوى متعددة االستخدام‪.‬‬
‫‪ ‬وتعتبر لغة برمجة كائنية ‪.Object Oriented Programming‬‬
‫‪ ‬اعتبرها الكثيرون اللغة األفضل لتصميم التطبيقات ذات الواجهة الكبيرة ‪ ،‬وذلك لسرعتها في‬
‫التنفيذ والتي ال تختلف كثي ًرا عن لغة ‪.C‬‬
‫‪‬توفر تعامل أكثر تعقي ًدا مع البيانات‪.‬‬
‫‪‬لغة ‪ ++C‬من لغات البرمجة العالية المستوى وفي نفس الوقت قريبة من لغة التجميع ذات‬
‫المستوى المنخفضـ‪.‬‬
‫‪ ‬كما أنها تعد لغة برمجة إجرائية ولغة غرضية التوجه‪.‬‬
‫مميزات لغة ‪++C‬‬
‫‪‬باإلضافة إلى المزايا الموجودة في لغة ‪ C‬العديد تدعم لغة ‪++C‬العديدة من المزايا الجديدة‪ ،‬نذكر‬
‫منها اآلتي ‪-:‬‬
‫‪‬تدعم لغة ‪ ++C‬البرمجة الغرضية التوجه (‪Object Oriented )00P‬‬
‫‪Programming‬‬
‫وهي تمكن المبرمج من كتابة برامج تدعم النهج الجديد في البرمجة وهو البرمجة الموجهة نحو‬
‫األشياء (‪ ) OOP‬والتي فيها يتم تحليل وتصميم النظام بعد تحديد مكوناته‪ ,‬و لكل مكون يتم تحديد‬
‫خصائصه‪ ،‬والعمليات المعرفة عليه(الصفوف والكائنات ‪ ،Classes and Objects‬التحميل‬
‫الزائد للعمليات‪ ،‬القوالب ‪ ،Templates‬التعددية الشكلية ‪ ،polymorphism‬الوراثة)‬
‫‪ ‬أستخدام الرمز ‪ //‬لتضمين المالحظات بطول سطر واحد والتي يتم تجاهلها من قِبل المترجم عند‬
‫القيام بعملية الترجمة‪.‬‬
‫تابع مميزات لغة ‪++C‬‬
‫‪‬اإلعالن الحر للمتغيرات ‪. free variable declaration‬‬
‫أصبح الممكن في ‪ ++c‬اإلعالن عن المتغيرات في أي موضع من البرنامج مما يتيح ربط المتغير‬
‫بالوظيفة التي من اجلها تم اإلعالن عنه‪ ،‬مما يزيد من سهولة متابعة وفهم البرنامج ‪.‬‬
‫‪‬اإلعالن عن الثوابت ‪-:constant‬‬
‫في ‪ ++c‬يتم استخدام الكلمة المحجوزة ‪ const‬لإلعالن عن الثوابت كآلتي ‪-:‬‬
‫‪Data type‬‬ ‫‪const‬‬ ‫• ‪constant_ name = value‬‬
‫‪Const data type‬‬ ‫• ‪constant_ name = value‬‬
‫‪ type‬وحجز‬ ‫ومن مزايا هذه الطريقة تساعد المترجم على فحص األنواع ‪checking‬‬
‫ذاكرة تتناسب ونوع الثابت‪.‬‬
‫تابع مميزات لغة ‪++C‬‬
‫• المراجع‪References:‬‬
‫وهو عبارة عن اسم آخر لمتغير موجود وأكثر ما تستخدم المراجع في ‪ ++C‬في االستدعاء‬
‫بالعنوان بالدوال بدال من استخدام المؤشرات في ‪. C‬‬
‫• التمدد السطري ‪Inline expansion‬‬
‫وهي ميزه تتعلق بالدـوال ذات الحجم البسيط‪ ،‬حيث يتم إدخال سطور الدالة ضمن البرنامج‬
‫الرئيسي أثناء زمن الترجمة حتى يتم تنفيذ البرنامج بشكل أسرع ‪.‬‬
‫الهيكلة العامة لبرنامج السي‪++‬‬
‫>‪ include <library_name.h‬استيراد المكتبات‬ ‫‪Header Files#‬‬

‫منطقة التصاريح العامة‬ ‫‪Public Declaration‬‬


‫الدوال الفرعية‬ ‫‪Subprograms‬‬
‫الدالة الرئيسية‬ ‫<‪)( Data Type> main‬‬

‫بداية الدالة الرئيسية‬ ‫{‬

‫منطقة التصاريح الخاصة‬ ‫‪Private Declaration‬‬

‫;‪Statements‬‬ ‫‪Program Body‬‬


‫جمل برمجية‬ ‫‪;Statements‬‬
‫‪;Statements‬‬
‫‪)return <value>; )option‬القيمة الراجعة‬
‫} نهاية الدالة الرئيسية‬
‫‪C++ components‬‬
‫‪‬مكتبات السي ‪:++‬‬
‫‪ iostream.h .1‬وهيمكتبة ا ـالدخاــلواــالخراـج‪.‬‬
‫‪ stdio.h .2‬وهياـيضا مكتبة ادخاــلواـخراـج‪.‬‬
‫‪ conio.h .3‬وهي مكتبة دوال اوامر الشاشة‪.‬‬
‫‪ math.h .4‬وهي مكتبة الدوال الرياضية‪.‬‬
‫‪ String.h .5‬مكتبة دوال معالجة النصوصـ‪.‬‬
C ++‫البرنامج االول بلغة‬
: ‫الحظ البرنامج كالتالي‬

++ my first program in C //

> include <iostream.h#

int main()
{
;"! cout << "Hello World

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

You might also like