mss cool
02-05-2008, 10:17 AM
بسم الله الرحمن الرحيم
ابدء اليوم بهذه المادة لأني وعدتكم بها بتاريخ 8/2/2008 ولكن لن استطيع بذلك التاريخ التواجد على المنتدى على الأغلب ولذلك هذا أول درس بالمادة
مادة c++
لغة من لغات البرمجة تعتمد على مترجم compiler الذي ينفذ النص البرمجي على انه برنامج تطبيقي _x.exe _ وتعتمد على الخورازميات .
وسندرس الأقسام التالية :
قسم النظري
قسم العملي
__________________
قسم النظري
أولا:التحولات والأنماط
*التمحولVARIABLE: هو عبارة عن حجم من الذاكرة فارغ في قيمته الأفتراضية _ لم يسند له قيمة ابتدائية _ ولكل متحول نمط معين من القيم *جدول اللأنماط DATA TYPE:
اسم النوع يستعمل لتخزين الحجم byte الدقة أمثلة عن القيم
char أحرف 1 ________ 'a' , '3' , '?'
Short ارقام صحيحة قصيرة 2 ________ 38 , 68-
int ارقام صحيحة عادية 2مع نظام 16 بت
4 مع نظام 32 بت ________ 255 , 800-
long ارقام صحيحة طويلة 4 ________ 2456588
5864515-
float ارقام حقيقية قصيرة 4 5 أعداد 3.6 , 15.5-
double ارقام حقيقية عادية 8 15 عدد 865454.54
45845.689-
Long double ارقام حقيقية طويلة 10 19 عدد 214687545378878 مثال:________________________________________ _
Int n=5; Double d=5.31; Flout x=3.2; Char y;
char m='k';
تفسير السطور
مثال
السطر الأول : المتحول المسمى (n) من النمط (int) متحول لا يقبل إلا يكون قيمة صحيحة قواعد لكتابة سطر المتحول تستخدم الأحرف الأنكليزية لتسمية المتحولات وذلك حسب القاعدة التالية ; المتحول مسافة المتحول وأما أن يسند أو أن يترك المتحول دون اسناد لقيمة ابتدائية على ان يسند ضمن البرنامج نقصد بالأسناد أي جعل قيمة خانة الذاكرة التي حجزت باسم متحول تساوي القيمة وذلك بواسطة معامل اسناد (=) ويجب مراعاة الشروط التالية ترك مسافة بين المتحول و النمط جعل اشارة (,) بعد كل متحول عند اسناده لنمط واحد أو اسناد كل منها على حدا
مثال:
Int z,x,n,m;
أو Int z; Int x; Int n; Int m;
قواعد لإدخال متحول : لا يمكن تعريف متحولين بنفس الأسم لغة سي بلس بلس حساسة لحالة الأحرف (MARK غير mark ) ولو كان حرف واحد يجب أن لا يحوي المتجول على الكلمات المحجوزة هي صغيرة حصرا (IF) يجب أن لا يحتوي المتحول على فراغ (MARK+) يمكن أن يسمى المتحول بأحرف كبيرة وصغيرة أما الكلمان المحجوزة والأنماط بأحرف صغيرة
ملاحظة هامة جداجداااااااااااااااااا:
المتحولات نوعان
متحول عام : متحول معرف من قبل جسم الوظيفة الرئيسية التوجيهية main يحجز له مكان دائم في الذاكرة وإذا لم يعطى قيمة يأخذ قيمة الصفر
متحول محلي :
هو متحول معرف في أي مكان عدا مكان المتحول العام يحجز له مكان مؤقت في الذاكرة ويحجز له مكان بالذاكرة عند دخوله في مجال تعريفه ويحرر عند انتهاء هذا المجال ويأخذ قيمة عشوائية إن لم يعطى قيمة
http://www.100hla.com/up/uploads/2288466524.bmp (http://www.100hla.com/up)
متحول العام m/c
متحول محلي دونهما
كلما كان المتحول محلي أكثر كان يعرف المتحولات الأعلى
____________________________________
ثانيا :المعاملات
* معامل الأسناد = ونسند فيه المتحولات والعمليات Int m=8;
*معاملات:
العملية الرياضية العملية الرياضية في c++
+ +
- -
÷ /
× *
+1 ++
-1 --
A= A+X A+=X أو أي عملية
العملية المقارنة العملية المقارنة c++
أصغر <
أكبر >
أصغرأو يساوي <=
أكبر أو يساوي >=
العملية المنطقية العملية المنطقية c++
OR ||
AND &&
NOT !!
باقي القسمة %
لا يساوي =!
يساوي = =
ترتيب حسب الأولوية :
من الأعلى لأدنى وفي المجال الواحد من اليسار لليمين
( )
%...../......*
-..............+
!=..........= =.........>=......<=......>......<
!!......||......&&
=
حالات معاملات الزيادة و النقصان:
int a = 4, b ;
b =a++ ;
cout << "a=" << a << "\n";
cout << "b=" << b<< "\n";
نتيجة :
a=4
b=5
press any key to contniue
int a = 4, b ;
b =++a ;
cout << "a=" << a << "\n";
cout << "b=" << b<< "\n";
نتيجة :
a=4
b=5
press any key to contniue
فمالفرق بين الكودين السابقين :
b =a++ ;
b =++a ;
الأول : اسند a لقيمة 4 ثم اجعل b يساوي a ثم زده واحد
a=4.........b=a=4........b=4+1.........b=5
الثاني :اسند a لقيمة 4 ثم اجعل b يساوي a بعد زيادة a واحد
a=4......... a=4+1.........b=a=5
معاملات الهروب :
فراغا ت أفقية \t مؤشر بداية سطر جديد \r
ادراج سطر جديد\n
اصدار صوت تنبيه\a
حذف خلفي \b
ملاحظة:
تكتب معاملات الهروب ضمن
' \t '
دائما عندما نريد ادارج حرف يكون ضمن اشارات فردية ' ' أما عندما يكون حرفين فأكثر فإن بيئة c++ لا تعامل معها إلا إذا كانت ضمن إشارات مزدوجة " "
ثالثا: آلية التفكير :
خوارزمية كود بسيط :
الخوارزمية عبارة عن منهجية تفكيرمتسلسلة منطقيا توفر علينا أخطاء ممكن ارتكابها أثناء كتابة الكود
قواعد مهمة
1-جميع الفروع في التعليمات نجعل لها ازاحة أثناء كتابة الكود
2-النصوص الحرفية متل كلمة ناجح يجب وضعها ضمن " " حتى يفهمها المترجم أنها نص
جمع عددين :
_ احجز مكان بالذاكرة بإسم X
_ احجز مكان بالذاكرة بإسم Y
_ ادخل قيمة إلى X
_ ادخل قيمة إلى Y
_ اجمع قيمة موجودة في X إلى Y
_ اطبع ناتج الجمع
_ احجز مكان بالذاكرة بإسم result
_ result = X+Yحساب مساحة دائرة :
_احجز مكان بالذاكرة بإسم r
_ادخل قيمة إ لى r
_احجز مكان بالذاكرة بإسم result
result = r*r*Π
اطبع result
وإلا
اطبع " القيمة المدخلة سالبة "
تحديد العدد إن كان فردي أم زوجي :
_ احجز مكان بالذاكرة بإسم x
_ ادخل قيمة إلى x
_إذ كان باقي قسمة x على 2 يساوي الصفر
اطبع " العدد زوجي "
وإلا
اطبع " العدد فردي "
حساب متوسط ثلاث أعداد:
_احجز أماكن بالذاكرة بإسم x , y , z
_ ادخل قيم إلى x ,y ,z
_ اطبع x+y+z)/3)
ويمكن كتابة الكود السابق بالطرق التالية :
۞
_احجز أماكن بالذاكرة بإسم sum=0, x , y , z
_ ادخل قيم إلى x ,y ,z
_ sum= x+y+z
_ اطبعsum/3
۞
_احجز مكان بالذاكرة بإسم x
_احجز مكان بالذاكرة بإسم y
_احجز مكان بالذاكرة بإسم z
_ ادخل قيمة إلى x
_ ادخل قيمة إلى y
_ ادخل قيمة إلى z
_ اطبع x+y+z)/3)
۞
_احجز أماكن بالذاكرة بإسم sum=0, number
_
ادخل قيمة إلى number
Sum = number + sum
ادخل قيمة إلى number
Sum = number + sum
ادخل قيمة إلى number
Sum = number + sum
_ اطبعsum/3
۞
احجز أماكن بالذاكرة بإسم sum=0, number
_كرر بعدد مساوي لـ 3
ادخل قيمة إلى number
Sum = number + sum
_ اطبعsum/3
۞
احجز أماكن بالذاكرة بإسم counter=0 ,sum=0, number
_كرر طالما counter أصغر من 3
ادخل قيمة إلى number
Sum = number + sum
Counter=counter+1
_ اطبعsum/3
رابعا :تعليمات أساسية :
من الخوارزميات السايقة أن جميع الكودات تبدأ بأدخال بيانات بأمر " ادخل " ونظهر النتائج بأمر " اطبع "
وفي المترجم أثناء كتابة الكود يكون البديل
تعليمة الأدخال :
cin >> x ; يعني السطر السابق ادخل قيمة إلى Xوتبقى قيمته عشوائية حتى يسند له قيمة
cin >> x = 5 ; يعني السطر السابق ادخل قيمة إلى X واجعل قيمة المتحول تساوي 5
تعليمة الأخراج :
cout <<x ; يعني السطر السابق اطبع قيمة المتحول X
cout <<x =5 ;
يعني السطر السابق اطبع قيمة المتحول الذي يساوي 5
cout << "x" ; يعني السطر السابق اطبع حرف X
cout << "x"<<endl ;
يعني السطر السابق اطبع حرف X وأنزل مؤشر المترجم سطر
http://www.100hla.com/up/uploads/b3c58e217a.bmp (http://www.100hla.com/up)
آلية تشكيل الكود:
كود بسيط :
برنامج يقوم بإضافة 3 للعد المدخل ثم يطبعه
احجز مكان بالذاكرة بإسم x ...........
int x ;
ادخل قيمة إلى x ........................
cin <<x ;
قيمة x = x +3 ..........................
x = x + 3 ;
اطبع قيمة x ..............................
cout <<x ;
ولكن حتى يحجز ويخرج ويعالج المترجم البيانات يجد اسناد هذه التعليمات إلى مكتبة خاصة بهما
http://www.100hla.com/up/uploads/d65f8aed88.bmp (http://www.100hla.com/up)
ويكتب الكود كما يلي :
الأظهار:
بحالة أدخل المستثمر 2 يكون الأظهار
http://www.100hla.com/up/uploads/8f4af159ec.bmp (http://www.100hla.com/up)
رابعا :كلمات محجوزة
if_if /eles
while_ do....while
break_countinue
switch
for
functions
arrays
وسندرسها بالتفصيل:
بنى الشرطية If.... if /eles:
أولا:تعليمة الشرطية IF:
if ()
{
if_ body
}
مثال:ولنفرض أننا نريد معرفة اذا كان معدل طالب ناجح أم راسب
نقول إن كان المعدل فوق 60 بهذه المادة كان نا جحا
نقاش المثال
المستثمر : 45
البرنامج : ينفذ انهاء
المستثمر : 66
البرنامج : يطبع ناجح
المستثمر :59.5
البرنامج : ينفذ انهاء
الخورازمية الكود :
_احجز مكان بالذاكرة باسم X
_ضع فيه قيمة X
_اذا كان X أكبر أو يساوي 60
اطبع " ناجح "
_ انهي البرنامج
ترجمة تعليمة السابقة :
1- اذا كان X أكبر أو يساوي 60 = شرط
2- اطبع " ناجح " = جسم الشرط ينفذ بحالة كان الشرط محقق
فلوشارت الكود :
ملاحظة :
تعليمات الفلوشارات الرئيسية هي
http://www.100hla.com/up/uploads/e83a16d854.bmp (http://www.100hla.com/up)
الفرعية تعليمة الشرطية
http://www.100hla.com/up/uploads/d4913efc27.bmp (http://www.100hla.com/up)
بنى الشرطية If.... if /eles:
أولا:تعليمة الشرطية IF....ELES:
if ()
{
if_ body
}
eles
{
eles_body
}
مثال:ولنفرض أننا نريد معرفة اذا كان معدل طالب ناجح أم راسب
نقول إن كان المعدل فوق 60 بهذه المادة كان نا جحا وإلا راسب
نقاش المثال
المستثمر : 45
البرنامج : يطبع راسب
المستثمر : 66
البرنامج : يطبع ناجح
المستثمر :59.5
البرنامج : يطبع راسب
الخورازمية الكود :
_احجز مكان بالذاكرة باسم X
_ضع فيه قيمة X
_اذا كان X أكبر أو يساوي 60
اطبع " ناجح "
إلا
اطبع " راسب "
_ انهي البرنامج
فلوشارت الكود :
http://www.100hla.com/up/uploads/b996d4ab89.bmp (http://www.100hla.com/up)
بنى التكرارية for:
For (1 ; 2 ; 3)
{
for_body
}
معاني الترقيم السابق:
1- تعني نقطة بداية التي ينطلق منها البرنامج بالترقيم
2- تعني شرط الذي يحدد امكانية استمرار بالتكرارجسم الـFOR
3- تعني مقدار التكرار بكل عدة
فلوشارت الحلقة التكرارية :
http://www.100hla.com/up/uploads/387e393823.bmp (http://www.100hla.com/up)
مثال :طباعة جملة _ mss cool _ خمس وعشرون مرة مع طباعة الرقم الموافق للعبارة المطبوعة
#include<iostrem.h>
main()
{
for(int i =1 ; i <= 25 ; i++)
{
cout << i << " MSS COOL" << endl;
}
}
ترجمة الكود السابق :
كرر جسم الحلقة تكرارية من القيمة 1 حتى القيمة 25 وذلك وفق المنهجية التالية
أول قيمة 1 أصغر أو تساوي 25 نفذ الجسم _ يطبع mss cool _ويزيد i واحد
--- صار i=2
ويستمر في الطباعة ثم زيادة i حتى تصبح القيمة 26 ينكسر شرط الحلقة فينهي البرنامج الحلقة
نقاش حالات for۞
for(int i=0 ; i<3 ; i++ )
{
cout << "Mss cool "<<endl;
}
نتيجة :
Mss cool
Mss cool
Mss cool
press any key to contniue
۞
for(int i=0 ; i<3 ; i+2 )
{
cout << "Mss cool "<<endl;
}
نتيجة :
Mss cool
Mss cool
press any key to contniue
۞
for(int i=3 ; i<0 ; i--)
{
cout << "Mss cool "<<endl;
}
نتيجة :لا ينفذ لتنقاض البيانات
۞
for(int i=3 ; i>0 ; i--)
{
cout << "Mss cool "<<endl;
}
نتيجة :
Mss cool
Mss cool
Mss cool
press any key to contniue
۞
int i=0;
for(; i<3 ;)
{
cout << "Mss cool "<<endl;
i+2;
}
نتيجة : لا يوجد فرق
Mss cool
Mss cool
press any key to contniue
ابدء اليوم بهذه المادة لأني وعدتكم بها بتاريخ 8/2/2008 ولكن لن استطيع بذلك التاريخ التواجد على المنتدى على الأغلب ولذلك هذا أول درس بالمادة
مادة c++
لغة من لغات البرمجة تعتمد على مترجم compiler الذي ينفذ النص البرمجي على انه برنامج تطبيقي _x.exe _ وتعتمد على الخورازميات .
وسندرس الأقسام التالية :
قسم النظري
قسم العملي
__________________
قسم النظري
أولا:التحولات والأنماط
*التمحولVARIABLE: هو عبارة عن حجم من الذاكرة فارغ في قيمته الأفتراضية _ لم يسند له قيمة ابتدائية _ ولكل متحول نمط معين من القيم *جدول اللأنماط DATA TYPE:
اسم النوع يستعمل لتخزين الحجم byte الدقة أمثلة عن القيم
char أحرف 1 ________ 'a' , '3' , '?'
Short ارقام صحيحة قصيرة 2 ________ 38 , 68-
int ارقام صحيحة عادية 2مع نظام 16 بت
4 مع نظام 32 بت ________ 255 , 800-
long ارقام صحيحة طويلة 4 ________ 2456588
5864515-
float ارقام حقيقية قصيرة 4 5 أعداد 3.6 , 15.5-
double ارقام حقيقية عادية 8 15 عدد 865454.54
45845.689-
Long double ارقام حقيقية طويلة 10 19 عدد 214687545378878 مثال:________________________________________ _
Int n=5; Double d=5.31; Flout x=3.2; Char y;
char m='k';
تفسير السطور
مثال
السطر الأول : المتحول المسمى (n) من النمط (int) متحول لا يقبل إلا يكون قيمة صحيحة قواعد لكتابة سطر المتحول تستخدم الأحرف الأنكليزية لتسمية المتحولات وذلك حسب القاعدة التالية ; المتحول مسافة المتحول وأما أن يسند أو أن يترك المتحول دون اسناد لقيمة ابتدائية على ان يسند ضمن البرنامج نقصد بالأسناد أي جعل قيمة خانة الذاكرة التي حجزت باسم متحول تساوي القيمة وذلك بواسطة معامل اسناد (=) ويجب مراعاة الشروط التالية ترك مسافة بين المتحول و النمط جعل اشارة (,) بعد كل متحول عند اسناده لنمط واحد أو اسناد كل منها على حدا
مثال:
Int z,x,n,m;
أو Int z; Int x; Int n; Int m;
قواعد لإدخال متحول : لا يمكن تعريف متحولين بنفس الأسم لغة سي بلس بلس حساسة لحالة الأحرف (MARK غير mark ) ولو كان حرف واحد يجب أن لا يحوي المتجول على الكلمات المحجوزة هي صغيرة حصرا (IF) يجب أن لا يحتوي المتحول على فراغ (MARK+) يمكن أن يسمى المتحول بأحرف كبيرة وصغيرة أما الكلمان المحجوزة والأنماط بأحرف صغيرة
ملاحظة هامة جداجداااااااااااااااااا:
المتحولات نوعان
متحول عام : متحول معرف من قبل جسم الوظيفة الرئيسية التوجيهية main يحجز له مكان دائم في الذاكرة وإذا لم يعطى قيمة يأخذ قيمة الصفر
متحول محلي :
هو متحول معرف في أي مكان عدا مكان المتحول العام يحجز له مكان مؤقت في الذاكرة ويحجز له مكان بالذاكرة عند دخوله في مجال تعريفه ويحرر عند انتهاء هذا المجال ويأخذ قيمة عشوائية إن لم يعطى قيمة
http://www.100hla.com/up/uploads/2288466524.bmp (http://www.100hla.com/up)
متحول العام m/c
متحول محلي دونهما
كلما كان المتحول محلي أكثر كان يعرف المتحولات الأعلى
____________________________________
ثانيا :المعاملات
* معامل الأسناد = ونسند فيه المتحولات والعمليات Int m=8;
*معاملات:
العملية الرياضية العملية الرياضية في c++
+ +
- -
÷ /
× *
+1 ++
-1 --
A= A+X A+=X أو أي عملية
العملية المقارنة العملية المقارنة c++
أصغر <
أكبر >
أصغرأو يساوي <=
أكبر أو يساوي >=
العملية المنطقية العملية المنطقية c++
OR ||
AND &&
NOT !!
باقي القسمة %
لا يساوي =!
يساوي = =
ترتيب حسب الأولوية :
من الأعلى لأدنى وفي المجال الواحد من اليسار لليمين
( )
%...../......*
-..............+
!=..........= =.........>=......<=......>......<
!!......||......&&
=
حالات معاملات الزيادة و النقصان:
int a = 4, b ;
b =a++ ;
cout << "a=" << a << "\n";
cout << "b=" << b<< "\n";
نتيجة :
a=4
b=5
press any key to contniue
int a = 4, b ;
b =++a ;
cout << "a=" << a << "\n";
cout << "b=" << b<< "\n";
نتيجة :
a=4
b=5
press any key to contniue
فمالفرق بين الكودين السابقين :
b =a++ ;
b =++a ;
الأول : اسند a لقيمة 4 ثم اجعل b يساوي a ثم زده واحد
a=4.........b=a=4........b=4+1.........b=5
الثاني :اسند a لقيمة 4 ثم اجعل b يساوي a بعد زيادة a واحد
a=4......... a=4+1.........b=a=5
معاملات الهروب :
فراغا ت أفقية \t مؤشر بداية سطر جديد \r
ادراج سطر جديد\n
اصدار صوت تنبيه\a
حذف خلفي \b
ملاحظة:
تكتب معاملات الهروب ضمن
' \t '
دائما عندما نريد ادارج حرف يكون ضمن اشارات فردية ' ' أما عندما يكون حرفين فأكثر فإن بيئة c++ لا تعامل معها إلا إذا كانت ضمن إشارات مزدوجة " "
ثالثا: آلية التفكير :
خوارزمية كود بسيط :
الخوارزمية عبارة عن منهجية تفكيرمتسلسلة منطقيا توفر علينا أخطاء ممكن ارتكابها أثناء كتابة الكود
قواعد مهمة
1-جميع الفروع في التعليمات نجعل لها ازاحة أثناء كتابة الكود
2-النصوص الحرفية متل كلمة ناجح يجب وضعها ضمن " " حتى يفهمها المترجم أنها نص
جمع عددين :
_ احجز مكان بالذاكرة بإسم X
_ احجز مكان بالذاكرة بإسم Y
_ ادخل قيمة إلى X
_ ادخل قيمة إلى Y
_ اجمع قيمة موجودة في X إلى Y
_ اطبع ناتج الجمع
_ احجز مكان بالذاكرة بإسم result
_ result = X+Yحساب مساحة دائرة :
_احجز مكان بالذاكرة بإسم r
_ادخل قيمة إ لى r
_احجز مكان بالذاكرة بإسم result
result = r*r*Π
اطبع result
وإلا
اطبع " القيمة المدخلة سالبة "
تحديد العدد إن كان فردي أم زوجي :
_ احجز مكان بالذاكرة بإسم x
_ ادخل قيمة إلى x
_إذ كان باقي قسمة x على 2 يساوي الصفر
اطبع " العدد زوجي "
وإلا
اطبع " العدد فردي "
حساب متوسط ثلاث أعداد:
_احجز أماكن بالذاكرة بإسم x , y , z
_ ادخل قيم إلى x ,y ,z
_ اطبع x+y+z)/3)
ويمكن كتابة الكود السابق بالطرق التالية :
۞
_احجز أماكن بالذاكرة بإسم sum=0, x , y , z
_ ادخل قيم إلى x ,y ,z
_ sum= x+y+z
_ اطبعsum/3
۞
_احجز مكان بالذاكرة بإسم x
_احجز مكان بالذاكرة بإسم y
_احجز مكان بالذاكرة بإسم z
_ ادخل قيمة إلى x
_ ادخل قيمة إلى y
_ ادخل قيمة إلى z
_ اطبع x+y+z)/3)
۞
_احجز أماكن بالذاكرة بإسم sum=0, number
_
ادخل قيمة إلى number
Sum = number + sum
ادخل قيمة إلى number
Sum = number + sum
ادخل قيمة إلى number
Sum = number + sum
_ اطبعsum/3
۞
احجز أماكن بالذاكرة بإسم sum=0, number
_كرر بعدد مساوي لـ 3
ادخل قيمة إلى number
Sum = number + sum
_ اطبعsum/3
۞
احجز أماكن بالذاكرة بإسم counter=0 ,sum=0, number
_كرر طالما counter أصغر من 3
ادخل قيمة إلى number
Sum = number + sum
Counter=counter+1
_ اطبعsum/3
رابعا :تعليمات أساسية :
من الخوارزميات السايقة أن جميع الكودات تبدأ بأدخال بيانات بأمر " ادخل " ونظهر النتائج بأمر " اطبع "
وفي المترجم أثناء كتابة الكود يكون البديل
تعليمة الأدخال :
cin >> x ; يعني السطر السابق ادخل قيمة إلى Xوتبقى قيمته عشوائية حتى يسند له قيمة
cin >> x = 5 ; يعني السطر السابق ادخل قيمة إلى X واجعل قيمة المتحول تساوي 5
تعليمة الأخراج :
cout <<x ; يعني السطر السابق اطبع قيمة المتحول X
cout <<x =5 ;
يعني السطر السابق اطبع قيمة المتحول الذي يساوي 5
cout << "x" ; يعني السطر السابق اطبع حرف X
cout << "x"<<endl ;
يعني السطر السابق اطبع حرف X وأنزل مؤشر المترجم سطر
http://www.100hla.com/up/uploads/b3c58e217a.bmp (http://www.100hla.com/up)
آلية تشكيل الكود:
كود بسيط :
برنامج يقوم بإضافة 3 للعد المدخل ثم يطبعه
احجز مكان بالذاكرة بإسم x ...........
int x ;
ادخل قيمة إلى x ........................
cin <<x ;
قيمة x = x +3 ..........................
x = x + 3 ;
اطبع قيمة x ..............................
cout <<x ;
ولكن حتى يحجز ويخرج ويعالج المترجم البيانات يجد اسناد هذه التعليمات إلى مكتبة خاصة بهما
http://www.100hla.com/up/uploads/d65f8aed88.bmp (http://www.100hla.com/up)
ويكتب الكود كما يلي :
الأظهار:
بحالة أدخل المستثمر 2 يكون الأظهار
http://www.100hla.com/up/uploads/8f4af159ec.bmp (http://www.100hla.com/up)
رابعا :كلمات محجوزة
if_if /eles
while_ do....while
break_countinue
switch
for
functions
arrays
وسندرسها بالتفصيل:
بنى الشرطية If.... if /eles:
أولا:تعليمة الشرطية IF:
if ()
{
if_ body
}
مثال:ولنفرض أننا نريد معرفة اذا كان معدل طالب ناجح أم راسب
نقول إن كان المعدل فوق 60 بهذه المادة كان نا جحا
نقاش المثال
المستثمر : 45
البرنامج : ينفذ انهاء
المستثمر : 66
البرنامج : يطبع ناجح
المستثمر :59.5
البرنامج : ينفذ انهاء
الخورازمية الكود :
_احجز مكان بالذاكرة باسم X
_ضع فيه قيمة X
_اذا كان X أكبر أو يساوي 60
اطبع " ناجح "
_ انهي البرنامج
ترجمة تعليمة السابقة :
1- اذا كان X أكبر أو يساوي 60 = شرط
2- اطبع " ناجح " = جسم الشرط ينفذ بحالة كان الشرط محقق
فلوشارت الكود :
ملاحظة :
تعليمات الفلوشارات الرئيسية هي
http://www.100hla.com/up/uploads/e83a16d854.bmp (http://www.100hla.com/up)
الفرعية تعليمة الشرطية
http://www.100hla.com/up/uploads/d4913efc27.bmp (http://www.100hla.com/up)
بنى الشرطية If.... if /eles:
أولا:تعليمة الشرطية IF....ELES:
if ()
{
if_ body
}
eles
{
eles_body
}
مثال:ولنفرض أننا نريد معرفة اذا كان معدل طالب ناجح أم راسب
نقول إن كان المعدل فوق 60 بهذه المادة كان نا جحا وإلا راسب
نقاش المثال
المستثمر : 45
البرنامج : يطبع راسب
المستثمر : 66
البرنامج : يطبع ناجح
المستثمر :59.5
البرنامج : يطبع راسب
الخورازمية الكود :
_احجز مكان بالذاكرة باسم X
_ضع فيه قيمة X
_اذا كان X أكبر أو يساوي 60
اطبع " ناجح "
إلا
اطبع " راسب "
_ انهي البرنامج
فلوشارت الكود :
http://www.100hla.com/up/uploads/b996d4ab89.bmp (http://www.100hla.com/up)
بنى التكرارية for:
For (1 ; 2 ; 3)
{
for_body
}
معاني الترقيم السابق:
1- تعني نقطة بداية التي ينطلق منها البرنامج بالترقيم
2- تعني شرط الذي يحدد امكانية استمرار بالتكرارجسم الـFOR
3- تعني مقدار التكرار بكل عدة
فلوشارت الحلقة التكرارية :
http://www.100hla.com/up/uploads/387e393823.bmp (http://www.100hla.com/up)
مثال :طباعة جملة _ mss cool _ خمس وعشرون مرة مع طباعة الرقم الموافق للعبارة المطبوعة
#include<iostrem.h>
main()
{
for(int i =1 ; i <= 25 ; i++)
{
cout << i << " MSS COOL" << endl;
}
}
ترجمة الكود السابق :
كرر جسم الحلقة تكرارية من القيمة 1 حتى القيمة 25 وذلك وفق المنهجية التالية
أول قيمة 1 أصغر أو تساوي 25 نفذ الجسم _ يطبع mss cool _ويزيد i واحد
--- صار i=2
ويستمر في الطباعة ثم زيادة i حتى تصبح القيمة 26 ينكسر شرط الحلقة فينهي البرنامج الحلقة
نقاش حالات for۞
for(int i=0 ; i<3 ; i++ )
{
cout << "Mss cool "<<endl;
}
نتيجة :
Mss cool
Mss cool
Mss cool
press any key to contniue
۞
for(int i=0 ; i<3 ; i+2 )
{
cout << "Mss cool "<<endl;
}
نتيجة :
Mss cool
Mss cool
press any key to contniue
۞
for(int i=3 ; i<0 ; i--)
{
cout << "Mss cool "<<endl;
}
نتيجة :لا ينفذ لتنقاض البيانات
۞
for(int i=3 ; i>0 ; i--)
{
cout << "Mss cool "<<endl;
}
نتيجة :
Mss cool
Mss cool
Mss cool
press any key to contniue
۞
int i=0;
for(; i<3 ;)
{
cout << "Mss cool "<<endl;
i+2;
}
نتيجة : لا يوجد فرق
Mss cool
Mss cool
press any key to contniue