Uploaded by NANA NANA

introduction to c++ programming

advertisement
‫جاهعت حواة‬
‫كليت العلوم في هصياف ‪ /‬السنت األولى‬
‫المادة‪ :‬البرمجة و الخوارزميات‬
‫المحاضرة األولى‪ :‬لغة البرمجة ‪C++‬‬
‫‪C++ Programming Language‬‬
‫العام الدراسي ‪2019 - 2018‬‬
‫خطوات كتابة البزنامج‬
‫•‬
‫قبل أن نتمكن من كتابة برنامج بلغة ‪ C++‬أو أي لغة أخرى ال بد لنا أوال من فهم منطقً لجمٌع‬
‫الخطوات الواجب إتباعها لحل مسألة ما بواسطة الحاسب‪.‬‬
‫‪ .1‬الخطوة األولى‪ :‬تحدٌد و تعرٌف المشكلة‬
‫‪ .2‬الخطوة الثانية‪ :‬تصمٌم البرنامج عن طرٌق كتابة خوارزمٌة حل المسألة ‪.Algorithm‬‬
‫‪ .3‬الخطوة الثالثة‪ :‬تحوٌل الخوارزمٌة إلى تعلٌمات بلغة ‪( C++‬برنامج) أو أي لغة برمجة أخرى‪.‬‬
‫‪ .4‬الخطوة الرابعة‪ :‬تحوٌل تعلٌمات لغة ‪ C++‬بدورها إلى لغة اآللة ‪ Binary Code‬المستعملة‬
‫خلوها من كافة أنواع األخطاء‪.‬‬
‫بواسطة برنامج المصنف ‪ Compiler‬و التأكد من ّ‬
‫‪ .5‬الخطوة الخامسة‪ :‬توثٌق البرنامج‬
‫•‬
‫التعرف على مجموعة مفاهٌم منها الخوارزمٌة و البرنامج و بعض المصطلحات و‬
‫بنا ًء علٌه ٌجب‬
‫ّ‬
‫التسمٌات المستخدمة فً برمجة الحواسٌب‪.‬‬
‫‪2‬‬
3
4
5
6
‫مزاحل تنفيذ البزنامج‬
‫‪Compiler /‬‬
‫‪7‬‬
‫الوفّسز ( ‪ ) Interpreter‬والوتزجن ) ‪( Compiler‬‬
‫‪-‬‬
‫برنامجً المفّسر والمترجم الخاصٌن بلغات برمجة الحاسب ٌقومان بترجمة اللغات العالٌة إلى لغة‬
‫اآللة لٌتمكن جهاز الحاسب من تنفٌذ التعلٌمات واألوامر بسرعة عالٌة جدا ً‪.‬‬
‫‪-‬‬
‫برنامج المفسر ‪ٌ :Interpreter‬قوم بترجمة أوامر وتعلٌمات البرنامج المكتوب بإحدى لغات‬
‫سر‬
‫البرمجة سطرا ً سطرا ً إلى لغة اآللة أثناء قرائنها لٌتم تنفٌذها سطرا ً سطرا ً أٌضا ً‪ .‬وٌمتلك المف ّ‬
‫القدرة على التفاعل مع البرنامج أثناء تنفٌذه وإجراء أي تغٌٌر فً البرنامج ثم متابعة التنفٌذ‪.‬‬
‫‪-‬‬
‫برنامج المترجم ‪ٌ :Compiler‬قوم بترجمة أوامر وتعلٌمات البرنامج المكتوب بإحدى لغات‬
‫البرمجة ككتلة واحدة إلى لغة اآللة أثناء قرائنها‪ ,‬لٌتم تنفٌذها دفعة واحدة‪ ,‬وٌعتبر أسرع من‬
‫برنامج المفّسر ‪ Interpreter‬بعدة مرات فً تنفٌذ البرنامج‪ ,‬ولكن عند وجود أي خطأ فً‬
‫البرنامج البد من إصالح الخطأ وإعادة تنفٌذ كل البرنامج من جدٌد‪.‬‬
‫‪8‬‬
‫هقاطع الذاكزة ‪Memory Segment's‬‬
‫ٌقوم المترجم ‪ Compiler‬بتقسٌم ذاكرة الحاسب إلى المقاطع التالٌة‪:‬‬
‫•‬
‫مقطع الترميز ‪ :Coding Segment‬لتخزٌن نص البرنامج بعد تحوٌله إلى لغة اآللة ( ‪.) 0 , 1‬‬
‫•‬
‫المعرف عنها فً بداٌة البرنامج‪.‬‬
‫مقطع المعطيات ‪ : Data Segment‬لتخزٌن قٌم المتحوالت‬
‫ّ‬
‫•‬
‫صرح عنها فً الدوال واإلجراءات ‪.‬‬
‫مقطع المكدس ‪ : Stack Segment‬لتخزٌن قٌم المتحوالت الم ّ‬
‫•‬
‫الكومة ‪ : Heap‬القسم الحر من ذاكرة ‪ ،RAM‬وٌمكن أن ٌستخدم لتخزٌن قٌم المتحوالت الدٌنامٌكٌة فقط‪.‬‬
‫•‬
‫تجدر اإلشارة إلى وجود مجموعة من الدوال واإلجراءات الخاصة بالتعامل مع ذاكرة الحاسب حٌث تمكننا‬
‫من التحكم ببعض العملٌات ضمن الذاكرة بمختلف مقاطعها‪.‬‬
‫‪9‬‬
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
‫مثال على تعليمة الطباعة << ‪cout‬‬
‫برنامج ٌقوم بطباعة جملتٌن توضٌحٌتٌن على الشاشة‬
‫تضمٌن تعلٌمات مكتبة ‪iostream‬‬
‫استخدام تعلٌمات مكتبة ‪std‬‬
‫>‪#include<iostream‬‬
‫; ‪using namespace std‬‬
‫استدعاء الدالة الرئٌسٌة‬
‫‪Welcome in Hama University‬‬
‫‪Faculty of Sciences‬‬
‫بداٌة البرنامج‬
‫تعرٌف متغٌّر‬
‫إسناد جملة إلى المتغٌر ‪line‬‬
‫)( ‪void main‬‬
‫{‬
‫;‪char[25] line‬‬
‫; “ ‪line = “ Welcome in Hama University‬‬
‫طباعة محتوى المتغٌر ‪ line‬واالنتقال إلى سطر جدٌد‬
‫; ‪cout << line << endl‬‬
‫طباعة جملة توضٌحٌة واالنتقال لسطر جدٌد ;‪cout << “Faculty of Sciences“ << endl‬‬
‫نهاٌة البرنامج‬
‫}‬
‫‪30‬‬
31
‫الوعزفت (قزاءة) >>‪cin‬‬
‫عبارة إدخال القين للوتغيزاث‬
‫ّ‬
‫• تستخدم تعلٌمة >> ‪ cin‬إلدخال قٌم للمتغٌرات التً تم تعرٌفها فً بداٌة البرنامج‬
‫والبقاء على نفس السطر بانتظار إدخال قٌمة‪.‬‬
‫• دائما ً ٌنتهً السطر البرمجً بفاصلة منقوطة للداللة على انتهاء تعلٌمة اإلدخال‪.‬‬
‫• مثال‪ :‬إدخال قٌمة لمتغٌر واحد ‪x‬‬
‫• ٌمكن استخدام تعلٌمة >> ‪ cin‬إلدخال قٌم لمجموعة متغٌرات على نفس السطر‬
‫البرمجً‪.‬‬
‫;‪cin>>x‬‬
‫• مثال‪ :‬إدخال قٌم لعدة متغٌرات‬
‫;‪cin>>x>>y>>z‬‬
‫‪32‬‬
‫مثال على تعليمة اإلدخال >> ‪cin‬‬
‫معرف فً البرنامج‪ ،‬ثم ٌقوم بطباعة محتوى المتغٌّر على الشاشة‬
‫برنامج ٌطلب إدخال جملة إلى متغٌّر ّ‬
‫تضمٌن تعلٌمات مكتبة ‪iostream‬‬
‫تضمٌن تعلٌمات مكتبة ‪conio‬‬
‫استخدام تعلٌمات مكتبة ‪std‬‬
‫استدعاء الدالة الرئٌسٌة‬
‫بداٌة البرنامج‬
‫>‪#include<iostream‬‬
‫>‪#include<conio‬‬
‫; ‪using namespace std‬‬
‫)( ‪void main‬‬
‫{‬
‫; ‪char[20] w‬‬
‫تعرٌف نوع المتغٌر ‪w‬‬
‫طباعة جملة توضٌحٌة‬
‫;" ‪cout << "enter your words: \n‬‬
‫; ‪cin >>w‬‬
‫إدخال جملة إلى المتغٌر ‪w‬‬
‫مسح شاشة الحاسب‬
‫طباعة محتوى المتغٌر ‪w‬‬
‫نهاٌة البرنامج‬
‫‪‬‬
‫;)(‪clrsc‬‬
‫; ‪cout << w‬‬
‫}‬
‫‪33‬‬
‫مثال ‪2‬على تعليمة اإلدخال >> ‪cin‬‬
‫برنامج ٌطلب إدخال عددٌن صحٌحٌن إلى ذاكرة الحاسب‪ ،‬ثم ٌقوم بطباعة ناتج جمعهما على الشاشة‬
‫تضمٌن تعلٌمات مكتبة ‪iostream‬‬
‫>‪#include<iostream‬‬
‫; ‪using namespace std‬‬
‫)( ‪int main‬‬
‫{‬
‫استخدام تعلٌمات مكتبة ‪std‬‬
‫استدعاء الدالة الرئٌسٌة‬
‫بداٌة البرنامج‬
‫تعرٌف أنواع المتغٌرات‬
‫; ‪int Num1, Num2, Sum‬‬
‫طباعة جملة توضٌحٌة‬
‫;" ‪cout << "enter Num1 & Num2: \n‬‬
‫إدخال قٌم إلى المتغٌرات‬
‫المتغٌرٌن و وضع الناتج فً متغٌر آخر‬
‫جمع قٌم‬
‫ّ‬
‫طباعة محتوى المتغٌر ‪Sum‬‬
‫إعادة قٌمة صفر للدالة ‪main‬‬
‫نهاٌة البرنامج‬
‫; ‪cin >> Num1 >> Num2‬‬
‫; ‪Sum = Num1 + Num2‬‬
‫; ‪cout << “\n Sum = “ << Sum‬‬
‫; ‪Return0‬‬
‫}‬
‫‪34‬‬
‫اكتب بزنامج إلدخال اسم وعمز ورقم هاتف ثم طباعة جملة توضيحية تتضمن البيانات المدخلة‬
#include<iostream>
using namespace std ;
void main ()
{
char[10] name;
int age;
long mobile;
:‫النتيجة‬
Hello, I am: Ahmad
My mobile number is:
2112309
20: Years old
cin >> name;  Ahmad
‫أو‬
cin >> name >> age >> mobile ;
cin >> age;
 20
cin >> mobile;  2112309
cout << "Hello, I am:" << name << “\t “ << age << “: Years old” << endl;
cout << “My phone number is:\n“ << mobile;
}
35
Download