معهد الصحافه
b]ازيك يابشمهندس (ه)عامل (ه) ايه هتفضل تلف كتير كده يلا ادخل سجل معانا[/b]
لمعرفه النتيجه تابع الموقع ده
http://www.mohe-edus.edu.eg/default.aspx
اداره المنتدى


 
الرئيسيةالبوابةبحـثالتسجيلدخول

شاطر | 
 

 دورة فى السى بلس بلس من البداية

اذهب الى الأسفل 
كاتب الموضوعرسالة
medo
المدير العام
المدير العام
avatar

ذكر
تاريخ الميلاد : 05/01/1990
تاريخ التسجيل : 15/01/2008
الموقع http://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 programsborlnad 5.2v
ثم بعد ذلك ستجد أيقونة لونها أخضر أسها Borland c++ وهذة هى الايقونة


سنبدأ

ودة أول كود

كود
#include

void main()

{

cout<<"in the name of allah";

}


شرح البرنامج:
أولا عند عمل run للبرنامج وذلك عن طريق قائمة debugrun
أو أتك 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


و
ممممم
وبس
خلاص
الرجوع الى أعلى الصفحة اذهب الى الأسفل
ليونارد أويلر
كبار الشخصيات
كبار الشخصيات
avatar

تاريخ التسجيل : 30/07/2008

مُساهمةموضوع: رد: دورة فى السى بلس بلس من البداية   الخميس يوليو 31, 2008 1:49 am

مشكور
لكني لا اعلم لماذا دخلت الموضوع بتسرع بدون توضيح اكبر
سمعت ان برنامج السي بلس بلس افضل من الفيجول بيزيك
لكن انا ارى من الناتج العملي ان الناتج افضل شكلا في الفيجول
كما ان الفيجول قد تعودنا عليه وهو اوضح
الرجوع الى أعلى الصفحة اذهب الى الأسفل
 
دورة فى السى بلس بلس من البداية
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
معهد الصحافه :: الكليه التكنولوجيه بالصحافه :: شعبه تك معلومات :: البرمجه وقواعد البيانات-
انتقل الى: