medo المدير العام
تاريخ الميلاد : 05/01/1990 تاريخ التسجيل : 15/01/2008 https://s7afa.ahlamontada.com
| موضوع: دورة فى السى بلس بلس من البداية السبت أبريل 05, 2008 5:11 pm | |
| بسم الله الرحمن الرحيم بأذن الله تعالى سنبدأ معا دورة فى السى بلس بلس من البداية أولا: مراحل الكورس سيكون الكورس بأذن الله تعالى محتوى على كل من Introduction in c++ and object oriented programming in c and data structure in c++طريقة الشرح كتابة الكود اولا ثم شرحة كاملا وبعد نهاية الشرح ستجد مجموعة من الاسئلة البسيطة لتنشيط الذاكرة وتشغيل المخمتطلبات الكورسأولا الاعتماد على الله والصبـــــــــــــــــــــــــر ثانيا ان يكون الborland 5.2v مستطب عندك وبس يلا نبدأ بسم الله أول شيى لازم تسطب Borland 5.2v ثم تفتح صفحة كتابة الكود عن طريق start programsborlnad 5.2v ثم بعد ذلك ستجد أيقونة لونها أخضر أسها Borland c++ وهذة هى الايقونة سنبدأ
ودة أول كود
كود #include
void main()
{
cout<<"in the name of allah";
}
شرح البرنامج: أولا عند عمل run للبرنامج وذلك عن طريق قائمة debugrun أو أتك ctrl+f9 أول شيى يتم تنفيذة هى هذة الدالة التى تسمى main() وتمسى بhead of program (رأس البرنامج) على الرغم من ان البرنامج يحتوى على دوال أخرى وclasses ألا ان اول دالة يتم تنفيذها هى الmain function وفى حالة عدم وجود تلك الدالة سيؤدى ذلك الى حدوث خطأ بعدم وجود main للبرنامج طب والvoid ودة يسمى بالdata type of function ومعناها ان تلك الدالة لاترجع اى قيمة هترجع قيمة لمين؟؟ للجملة او المكان اللى مستدعيها وفى (تلك الحالة غالبا ما يكون الcompiler or os وبأذن الله سنشرح الدوال وكيفية كتابتها فى دروس لاحقة ثم بعد ذلك فتحت قوس مجموعة وقفلتة لكى اضع كود الدالة داخل هذان الاقواس وكود هذة الدالة هو كود Cout<<"in the name of allah";
أول شيى فى هذة الجملة هو الcout وتنطق (سى أوت) عبارة عن object معرف فى ملف أسمة input output stream header file وهو iostream.h وأيضا تلك العلامتين << تسمى بput أو بال out (أوعى تقلق من الكلام التقيل دة سيشرح بأذن الله فى الover loading operator ) طب وال; (semicolon ) دى تدل على نهاية السطر طب ما معنى هذا السطر كود #include
#include <> تسمى preprocessor
معناة ان بقول للcompiler لو سمحت يا عم الcompiler أعمل include لتعريف الcout من الheader file اللى انا كاتبة اى من iostream حيث أن اى حاجة مكتوبة فى الmain لازم تكون معرفة للcompiler فاذا كانت دالة مستدعيها يبقى لازم تكون معرفة وأذا كان متغير يبقى لازم يكون متعرف طب لو كان function or object built in c++ وبالتالى لازم أعمل include للheader file بتاعة حتى يعرف مكان تعريف هذة الدالة او الكائن
طب دلوقتى لو جيت عملت run للبرنامج ستجد ان الشاشة السودة تختفى بسرعة جدا بدون ماتلاحظ الoutput والحل هو هخلى الشاشة تظهر ثم أنتظلر من المستخدم الضغط على أى button من الكيبورد عند الضغط على اى button وبالتالى تختفى الشاشة السودة وذلك عن طريق دالة اسمها getch() تسمى get character حيث هذا الcharacter لا يظهر على الشاشة أذا حبيت ان يظهر على الشاشة استخدم getche() طب علشان أستخدم تلك الدالتين لازم أعرف الcompiler مكان تعريفهم ودلك عن طريق عمل include to conio.h وبالتالى يكون الكود كذلك كود #include
#include
void main()
{
cout<<"in the name of allah";
getch();
}
طب دلوقتى هعمل برنامج يطبع
Welcome In c++ ودة الكود كود #include
#include
void main()
{
cout<<"welcome\\nin c++";
getch();
}
والجديد فى هذا الكود هو أستخدام \\n أى new line أى أطبع الجملة اللى قبلها واى حاجة بعد كدة اطبعها فى سطر جديد
كذلك وحبيت اطبع Welcome inc++ عن طريق استخدام \\t حيث معناها tap أى أخذ مسافة مقدارها tap أو one space ودة الكود كود #include
#include
void main()
{
cout<<"welcome\\t"<<"inc++";
getch();
}
ودة جدول الescape sequence
\\n new line
\\t tab
\\a beeb
\\\\ print \\
\\' print'
\\" print "
ودة برنامج عن استخدام "" كود #include
#include
void main()
{
cout<<"\\"welcome\\"";
getch();
}
يعنى هيطبع "welcome"
طبعأ اى برنامج لازم يحتوى على حبة متغيرات طب ازاى اعرف متغير عن طريق Data type NameOfVariable أولا الdata type وهو نوع المتغير هل هوة int or double or char or float أولا الint وهو عبارة عن اختصار ل integer يعنى عدد صحيح حيث ان العدد الصحيح يمثل فى 4 byte حيث كل بايت تمثل فى 4 bit so it represent at 32bit ودة يعتمد على الsystem اللى انت شغال علية زى الwindows بيحجز للمتغير 32bit طب والrange of int -2,147,483,648 to 2,147,483,647 طب وال long أيضا مثل الint أى يحجز 32bit أما الshort يمثل فى -32,768 to 32,767 Char 0الى 127 وأيضا وجود unsigned int ومعناها ان الرقم يكون موجب فقط لا يحتوى على اشارة ولكن الsigned int هواللى يحتوى ع اشارة Float وهو ان الرقم يكون بة كسر عشرى Ex: float x=1.2; أما الfloat وهو عبارة عن شيئين رقم صحيح وهو اللى على يسار العلامة وكسر عشرى وهو اللى على يسار العلامة حيث الfloat ينقسم الى نوعين float or double حيث ان الfloat يكون بين الارقام 3.4*10^-38 الى 3.4*10^38 وبالتالى تاخذ 4 byte كود #include
#include
void main()
{
int x;
const float f=1.2;
cout<<"enter the value:\\t"; cin>>x;
cout<<"the result is:\\t"<
getch();
}
أما الdouble and long double زى الfloat ولكن يتطلب مساحة أكبر من الرام حيث يتطلب 8 byte حيث يتراوح بين ال1.7*10^-308 to 1.7*10^308
أما فى حالة الNamOfVariable أولا ممكن ان يكون capital or small لا يبدأ برقم EX: int 1x=12; //error ممكن يبدأ ب_ EX: int _x=12; ممكن أن يكون أسم ولكن لا يكون بة مسافات طب أتغلب على المسافات عن طريق _ EX: int a_b=12; //true Int a b=12; // false ERROR
ملحوظة خلى بالك أوعى تستخدم اى اسم محجوز للغة بمعنى EX: int cout=12; //ERROR Int cin =12; //ERROR عدم تكرار أكتر من متغير بنفس الاسم داخل دالة واحدة يعنى زى المثال دة كود void main()
{
int x=1.2;
float x=1;
cout<
getch();
}
أيضا فى حالة المشاريع الضخمة لازم يكون اسماء الدوال والمتغيرات لها معنى بمعنى لا اسمى دالة تعمل جمع بأسم أحمد أو أى اسم غير دال على اسمها
طب دلوقتى نعمل برنامج بسيط يجمع عددين كود #include
#include
void main()
{
int x=1;
int y=2;
cout<<"the result is:\\t"<<(x+y);
getch();
}
شرح البرنامج عرفت متغير اسمة X من النوع int وبالتالى يحجز لة فى الرام 4byte وعملتة initial أى أعطيتة قيمة مبدائية وهى 1 وكذلك مع الy ثم بعد ذلك عملت جمع لتلك العدين وطبع الناتج عن طريق استخدام الcout المعرفة فى الiostream.h أما(x+y) الاقواس علشان لو كان العملية الحسابية كبيرة ممكن يعطى خطأ يسمى Ambiguous طب دلوقتى البرنامج دة مقتصر على جمع عددين فقط وهما ال1,2 طب لو عاوز المستخدم يدخل اى رقمين ويتم جمعهم وذلك عن طريق استخدام cin >> أنظر الى هذا الكود
كود #include
#include
void main()
{
int x,y;
cout<<"enter the frist number:\\t";
cin>>x;
cout<<"enter the second number:";
cin>>y;
cout<<"the result is:\\t"<
getch();
}
Cin>>x; منعاها أعمل wait للبرنامج لخد ما المستخدم يدخل قيمة الx عبارة عن كائن تعريفة يوجد فى الiostream.h header file ويسمى بinput output stream header file أول شيى يطبعenter the frist number: يدخل المستخدم الرقم الاول ويخزن فى X ثم enter the second number: ويخزن فى الy ثم بعد ذلك يطبع the result is sum of x+y
مثال أخر حل تلك الدالة 3x+5y+2x2 كود ودة هو البرنامج
#include
#include
#include
void main()
{
int x,y;
cout<<"the equation is: 3x+5y+2x2\\n";
cout<<"enter the frist number:\\t";
cin>>x;
cout<<"\\nenter the second number:";
cin>>y;
cout<<"\\n the result is:\\t"<<( (3*x)+(5*y)+(2*pow(x,2)) );
getch();
}
كل ما هو جديد ان استخدمت دالة اسمها pow() علشان اطلع مربع الx طب ما هو الفرق بين ++x ++x لاحظ معى هذا الكود وانت هتعرف الفرق بينهما كود #include
#include
void main()
{
int x=12;
cout<<<"\\n";
cout<<<"\\n";
cout<<<"\\n";
cout<<++x<<"\\n";
cout<<<"\\n";
getch();
}
كود طب أفترض وجود متغير float ووجود متغير int
EX:
Float x=1.2;
Int y;
Y=x;
Cout<
ستكون قيمة الy=1 وذلك لان الcompiler عمل casting أى تحويلها من floalt to int ودة بواسطة الcompiler طب لوحبيت اعمل الcast دة عن طريق كود static_cast(variable who made cast
لاحظ ذلك الكود كود #include
#include
void main()
{
int x;
float y=1.23;
x=static_cast(y);
cout<<<"\\n";
getch();
}
وبكدة يبقى انتهى الدرس الاول ويارب تكونوا أستفدوا
وموعدنا بأذن الله مع الدرس القادم وهو الloop and conditions
أسئلة : أعمل برنامج يطبع Welcome in c++ خمس مرات وكل مرة تكون فى سطر جديد EX: كود Welcome in c++
Welcome in c++
Welcome in c++
And so on
وخلى بالك ان البرنامج دة هيكون مدخلنا للدرس القادم
أعمل برنامج يجمع عددين وأيضا أخر يطرح عددين
أعمل برنامج يحل تلك المعادلة
كود 2x+12xy+2x2+5y
و ممممم وبس خلاص | |
|
ليونارد أويلر كبار الشخصيات
تاريخ التسجيل : 30/07/2008
| موضوع: رد: دورة فى السى بلس بلس من البداية الخميس يوليو 31, 2008 1:49 am | |
| مشكور لكني لا اعلم لماذا دخلت الموضوع بتسرع بدون توضيح اكبر سمعت ان برنامج السي بلس بلس افضل من الفيجول بيزيك لكن انا ارى من الناتج العملي ان الناتج افضل شكلا في الفيجول كما ان الفيجول قد تعودنا عليه وهو اوضح | |
|