Professional Documents
Culture Documents
(الكورس 3) ++C المستوى الأول
(الكورس 3) ++C المستوى الأول
ألنها تعطيك مفاهيم البرمجة كلها ،لتستطيع تعلم أي لغة برمجة أخرى في أقل من شهرين
إذا تعلمتها جيدا يمكنك تعلم أي لغة برمجة أخرى في أقل من شهر •
تعتبر لغة C++متوسطة المستوى -قريبة من الهاردوير وقادرة على برمجة معدات •
الهاردوير األساسية ومعالجتها
لها تحكم كامل في موارد أو معدات الكمبيوتر مثل الذاكرة ، •
الدرس الرابع عشر ( في أساسيات مهمة لكل مبرمج ) :لماذا يجب أن تبدأ بتعلم لغة C++
ألن هذه اللغة تأسسك بشكل قوي وتجبرك بتعلم مفاهيم البرمجة كلها
هي لغة متعددة المنصات ،يمكن إنشاء تطبيقات عالية األداء على أنظمة مختلفة
❖ هي أم اللغات ،ألن لغات البرمجة األخرى مبنية بشكل مباشر أو غير مباشر على C++
❖ تتمتع C , C++بالتحكم الكامل في موارد الكمبيوتر (الهارد وير) مثل الذاكرة ،وال
توجد بها إدارة تلقائية للذاكرة
1
ما الذي تستطيع عمله بلغة C++؟
.3لغات برمجة .2تطبيقات مثل .1أنظمة تشغيل
الفوتوشوب
.6ألعاب ضخمة .5مخططات هندسية .4قواعد بيانات
المكتبات
عندما نحتاج الى حسابات رياضية عالية المستوى ،يصبح األداء والسرعة مهمين
لذا فإن معظم المكتبات تستخدم C++كلغة برمجة أساسية ،
تعد لغة C++أسرع من معظم لغات البرمجة األخرى كما أنه يدعم تعدد مؤشرات
الترابط مع التزامن
2
مميزات C++
• أداء
• سرعة
• قابلة للتكيف متعددة المنصات ،يمكن إنشاء تطبيقات عالية األداء على أنظمة مختلفة
• تعدد العمليات الحسابية (معقدة ،كثيرة)
• عالية المستوى مع التزامن
أوجه التشابه
C C++
نفس ) ( syntaxقواعد الكتابة أو بناء الجملة وكتابة الكود
تستخدم لغة ترجمة Compiler
كلهما لغات متوسطة المستوى ،قريبة من الهارد وير
التحكم الكامل في موارد (الهارد وير) الكمبيوتر مثل الذاكرة
أوجه االختلف
C C++
أنشأت بين 1969الى 1973 أنشأت عام 1979
لغة Cجزء من C++ لغة C++أشمل من C
برمجة هيكلية فقط ()Procedural برجمة هيكلة و OOP
Java C++
برمجة OOPفقط برجمة هيكلة و OOP
3
)LESSON #11 - SYNTAX ( قواعد كتابة اللغة: 11 الدرس#
#include <iostream>
using namespace std;
int main()
{
(std::cout << ("Saeed";) == (cout << "Saeed";)
std::cout << ("Saeed" << std::endl;) (cout << "Saeed" << endl;)
return 0; }
4
) ( LESSON #14 \N OR ENDL ؟ ENDL & \N #الدرس : 14الفرق بين
النزول إلى سطر جديد مع تفريغ للتخزين النزول الى سطر جديد من غير تفريغ
المؤقت ()Buffer للتخزين المؤقت ()Buffer
إذا استخدمتها مع كل أمر نزول إلى سطر جديد إذا استخدمتها مع كل أمر نزول إلى سطر
يصبح البرنامج أبطئ ألنه يفرغ التخزين جديد يصبح البرنامج أبطئ ألنه ال يفرغ
المؤقت مع كل أمر التخزين المؤقت
endlليست دائما أسرع ،ألن تفريغ Bufferيأخذ وقت مع كل تفريغ ،لذلك ال نستطيع أن
نقول أن أحدهما أسرع من االخر ،ولذلك تجب الموازنة بينهم
كلما قلت الملحظات كلما كان البرنامج أسرع (اكتب الملحظات المهمة) ❖
5
#الدرس : 16األحرف ( )LESSON #16 - LITERALS AND ESCAPE SEQUENCES
البيانات الحرفية هي البيانات المستخدمة لتمثيل القيم الثابتة ،يمكن استخدامها مباشرة في الكود
أنواع الحروف
6
)LESSON #17 - VARIABLES ( المتغيرات: 17 الدرس#
مكان لتخزين بيانات في الذاكرة:المتغيرات هي
)Derived( مشتق.2
Function •
Array •
Pointer •
Reference •
Structure •
Union •
Enum •
Type Def •
7
)SYNTAX ( كتابة المتغيرات
Syntax
8
تسمية المتغيرات
Age ,name .4يمكن أن تكون ألسماء قصيرة مثل حرف x ,yأو أسماء وصفية مثل
9
القوا عد العامة لتسمية المتغيرات ( )VARIABLESو الثوابت ( )CONSTANTSهي
.1يمكن أن تحتوي األسماء على أحرف وأرقام و شرطات سفلية
.4ال يمكن أن تحتوي األسماء على مسافات أو رموز خاصة مثل *&^$#%
int , cout , string .5ال يمكن استخدام الكلمات المحجوزة للغة مثل
Syntax
10
هل أسماء المتغيرات التالية صالحة ولماذا ؟
نعم Age
نعم My_Age
نعم _Age
نعم X2
نعم Myname
يتم استخدام cinمع عامل التشغيل << أكبر من إلدخال القيم الى المتغيرات
Syntax
Std::cin << ;Variable
11
( )LESSON #19 - DATATYPES SIZES & RANGESلكل نوع له حجم مناسب #الدرس :19أحجام أنواع البيانات
وهذه المعدالت األربع 4تستخدم مع ثلثة أنواع فقط من أنواع البيانات وهي
12
) تستخدم نوعين من معدالت النوع ()long - signed (double
13
) لمعرفة نطاق القيم التي يمكن تخزينها ( من أصغر قيمة إلى أكبر قيمة
cout << "char Range : (" << CHAR_MIN <<", " << CHAR_MAX << ")\n";
cout << "unsigned char Range: (" << 0 << " , " << UCHAR_MAX <<
")\n\n";
cout << "short int Range: (" << SHRT_MIN << ", " << SHRT_MAX << ")\n";
cout << "unsigned short int Range: (" << 0 << ", " << USHRT_MAX <<
")\n\n";
cout << "int Range: (" << INT_MIN << " , " << INT_MAX << ")\n";
cout << "unsigned int Range: (" << 0 << " , " << UINT_MAX << ")\n\n";
cout << "long int Range: (" << LONG_MIN << ", " << LONG_MAX << ")\n";
cout << "unsigned long int Range: (" << 0 << ", " << ULONG_MAX <<
")\n\n";
cout << "long long int Range: (" << LLONG_MIN << " , " << LLONG_MAX <<
")\n";
cout << "unsigned long long int Range: (" << 0 << " , "<< ULLONG_MAX
<< ")\n\n";
cout << "float Range: (" << FLT_MIN << " " << FLT_MAX << ")\n";
cout << "float(negative) Range: (" << -FLT_MIN << " , "<< -FLT_MAX <<
")\n\n";
cout << "double Range: (" << DBL_MIN << " , " << DBL_MAX << ")\n";
cout << "double(negative) Range: (" << -DBL_MIN << -DBL_MAX << ")\n";
cout << "long double Range: (" << LDBL_MIN_10_EXP << " , " <<
LDBL_MAX_10_EXP << ")\n";
cout << "The size of bool data type is " << sizeof(bool) << "\n";
cout << "The size of char data type is s " << sizeof(char) << "\n";
cout << "The size of short data type is " << sizeof(short int) <<
"\n";
cout << "The size of int data type is " << sizeof(int) << "\n";
cout << "The size of int long data type is " << sizeof(long) <<
"\n";
cout << "The size of int long long data type is " << sizeof(long
long) << "\n";
cout << "The size of float data type is " << sizeof(float) << "\n";
cout << "The size of double data type is " << sizeof (double) <<
"\n";
14
#الدرس : 20العوامل الحسابية ( )LESSON #20 - ARITHMETIC OPERATORS
اسم العملية الحسابية العملية الحسابية A = 10 , B = 20 مثال:
+ جمع A + B = 30
15
( )LESSON #23 - ASSIGNMENT OPERATORS #الدرس : 23اختصارات مهمة في ال عمليات الحسابية
;int A = 10 , B =20
=! هل قيم العاملين غير متساوية أم ال ؟ << ) cout << (A != B 1
;endl
> هل العامل األيمن أكبر من العامل األيسر ؟ << ) cout << (A < B 1
;endl
< هل العامل األيمن أصغر من العامل األيسر ؟ << ) cout << ( A > B 0
;endl
=> هل العامل األيمن أكبر من العامل األيسر أم هما << ) cout << ( A <= B 1
;endl
متساويان ؟
=< هل العامل األيمن أصغر من العامل األيسر أم هما << ) cout << ( A >= B 0
;endl
متساويان ؟
16
#الدرس : 25العوامل المنطقية ( )LESSON #25 - LOGICAL OPERATORS
;)bool A = 1 (true) , B = 0 (false
|| إذا تحقق أحد الشرطين صحيح OR ; ) cout << (A || B 1
! لعكس نتيجة الشرط NOT ; ) cout << !( A && (||) B )1 (0
;cout << !A 0
التقريب من 5وأعلى يعطي رقم أكبر ،ومن 4وأسفل يعطي نفس الرقم صحيح
مثال 3 = 3.4 | 4 = 3.5 :
األعلى ceilيقرب دائما الى الرقم األعلى مثال -5 = -6.4 | 3 = 2.1 :
األدنى floorيقرب دائما الى أسفل مثال-6 = -6,8 | 2 = 2.9 :
17
)LESSON #27 - STRUCTURES ( ال هي ا كل: 27 الدرس#
Syntax
main االستدعاء في ال
type stName } ;{ تخزين أنواع البيانات stName Name
struct stCar { string Model; }; stCar Car
Structure •
Union •
Enum •
Type Def •
يعرف كل متغير في الهيكل، طريقة لتجميع العديد من المتغيرات ذات الصلة في مكان واحد
) ( يمكن بناء هيكل داخل هيكل، بأنه عضو في بنية الهيكل
# include <iostream>
using namespace std;
struct stcar
{
string Brand;
string Model;
int Years;
};
int main()
{
stcar Mycar1, Mycar2;
Mycar1.Brand = "BMW";
Mycar1.Model = "X5";
Mycar1.Years = 2000;
Mycar2.Brand = "Ford";
cout << Mycar1.Brand << " " << Mycar1.Model << " " << Mycar1.Years
<< "\n";
}
18
)LESSON #28 - ENUMS ( التعداد: 28 الدرس#
Syntax
main االستدعاء في ال
type enName } ;{ تخزين قيم enName Name
enum enWeek { Sun , Mon }; enWeek Today
، مفيد في الجمل الشرطيةenum
غير مفيدToday = 0 : تستطيع استدعائها بمكان أول قيمة لها Today = Week::Sun;
Structure •
Union •
Enum •
Type Def •
19
الهياكل والتعدادات المتداخلة:29 الدرس#
)LESSON #29 - NESTED STRUCTURES AND ENUMS - FULL PRACTICAL EXAMPLE (
Structure & Enum استخدام الهياكل والتعداد
ألنها تنظم عملية التعامل مع البيانات داخل البرنامج، ❖ تسهل وتسرع البرمجة
struct stAddress
{
string StreetName;
string BuildingNo;
string POBox;
string ZipCode;
};
struct stContactInfo
{
string Phone;
string Email;
stContactInfo ContactInfo;
enMaritalStatus MaritalStatues;
enGendor Gendor;
enColor FavourateColor;
};
int main()
{
stPerson Person1;
Person1.FirstName = "Mohammed";
Person1.LastName = "Abu-Hadhoud";
Person1.ContactInfo.Email = "xyz@xyz.com";
Person1.ContactInfo.Phone = "+961000000999";
Person1.ContactInfo.Address.POBox = "7777";
Person1.ContactInfo.Address.ZipCode = "11194";
Person1.ContactInfo.Address.StreetName = "Queenl Street";
Person1.ContactInfo.Address.BuildingNo = "313";
Person1.Gendor = enGendor::Male;
Person1.MaritalStatues = enMaritalStatus:: Married;
Person1.FavourateColor = enColor::Green;
20
)LESSON #30 - DATA TYPE CONVERSION ( تحويل نوع البيانات: 30 الدرس#
21
)LESSON #31 - STRINGS ( السلسل:31 الدرس#
مجموعة من األحرف محاطة بعلمات اقتباس مزدوجة:السلسل هي
Syntax
mystring.length() length() طباعة عدد األحرف
Mystring[2] ][موقع الحرف طباعة حرف من السلسلة
#include <iostream>
#include <string>
using namespace std;
int main()
{
string mystring = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
//طباعة عدد األحرف
cout << mystring.length() << "\n"; // print 26
22
#الدرس :32الوظائف أو الدوال ( PROCEDURE )LESSON #32 - FUNCTIONS PART 1
الوظاائف Functionsهي :عبارة عنن كتلنة منن التعليمنات البرمجينة ينتم تشنغيلها فقنط عنند
استدعائها (اسمها في )()int main
ووظيفته فصل جزء من الكود إلعادة استخدامه أكثر من مرة
يمكنك تمرير البيانات المعروفة باسم المعلمات الى دالة
تستخدم الدوال ألداء إجراءات معينة وهي مهمة إلعادة استخدام الكود ،حدد الرمز منرة واحندة
واستخدمه عدة مرات
الفرق بين Functionsو procedure
Functionsيرجع قيمة ( مثل المعادالت )
procedureهو Functionsلكن ال يرجع قيمة وهو ( )Voidأي فارغ ( مثل أوامر الطباعة )
مميزات Functions
سهولة كتابة الكود •
األفضل في Functionsالدالة أن تعمل شيء واحد فقط ( اسمه يعبر عن عمله ) •
األعلى ceilيقرب دائما الى الرقم األعلى مثال -5 = -6.4 / 3 = 2.1 :
األدنى floorيقرب دائما الى أسفل مثال -6 = -6,8 / 2 = 2.9 :
23
)LESSON _33 - SOLVING THE GETLINE() PROBLEM ( : 33 الدرس#
Syntax
cin.ignore(1, '\n'); cin.ignore(1,
'\n'); حل مشكلة تجاوز إدخال البيانات
getline(cin, FullName) getline(cin, Variable طباعة االسم كامل مع الفراغات
name)
24
)FUNCTIONS PART II - FUNCTIONS VS PROCEDURES (2 الوظائف الدوال:34 الدرس#
Functions
) قيمة واحدة فقطreturn( • يرجع
) ( مثل المعادالتFunctions • تحفظ القيمة في اسم
void MyProcedure ()
//procedure هوFunctions مثل أوامر الطباعة – فارغ(لكن ال يرجع قيمةVoid)
{
cout << "This is my function , it got executed " << endl;
}
//Functions يرجع قيمة(مثل المعادالت) البد من استخدامReturn التي ترجع قيمة واحدة فقط يستدعى مع
cout <<
string MyFunction1()
{
return "This is my first returning value function , this is value ";
}
float myFunction2()
{
float x = 10.8;
float y = 20.4;
return x* y;
}
int main()
{
MyProcedure();
cout << MyFunction1();
float Result;
Result = round(myFunction2());
cout << Result;
}
25
)LESSON _35 - FUNCTION PART 3 - PARAMETERS (3 الوظائف الدوال:35 الدرس#
#include <iostream>
using namespace std;
#include <iostream>
// طريقة استدعاء النطاق العالميGlobal ثم اسم المتغير:: يكون بنقطتين رأسيتينvariable
cout << "The Global value of x is : " << ::x << endl;
26
)LESSON #37 - FUNCTION PARAMETERS - BY-VAL VS BY-REF ( تبديل القيم:37 الدرس#
#include <iostream>
using namespace std;
// By value هي نسخة منNum1 الموجودة فيint main( تستطيع إعطاء نسخة من األصلية والتعديل عليها
داخلfunction )فقط
void MyProcedure1(int Num1)
{
Num1 = 7000;
cout << "Number inside function became = " << Num1 << endl;
}
// By Reference أي مرجع هي العنوان للمتغير األصلي فيint main أي يعطي القيمة ( &باستخدام عالمة
الموجودة فيMyProcedure2 للمتغير فيint main) عنوانه هوhexadecimal
void MyProcedure2(int& Num2)
{
Num2 = 9000;
cout << "Number inside function became = " << Num1 << endl;
}
int main()
{
int Num1;
Num1 = 1000;
MyProcedure1(Num1);
cout << "Number after calling the function became = " << Num1 <<
endl;
// print 1. MyProcedure1 = 7000 , 2. Num1 = 1000
int Num2;
Num2 = 3000;
MyProcedure2(Num2);
cout << "Number after calling the function became = " << Num1 <<
endl;
// print 1. MyProcedure2 = 9000 , 2. Num2 = 3000
// لطباعة عنوان المتغيرHexadecimal
cout << &Num2;
}
27
استخدام الهياكل مع الدوال: 38 الدرس#
) .LESSON #38 - STRUCTURES AND FUNCTIONS - RE-USABILITY (
كلما قل الكود كلما كانت األخطاء أقل وكلما كانت البرمجة أمتع
#include <iostream>
#include <string>
28
#الدرس :39المصفوفة ( )LESSON #39 - ARRAYS
المصفوفة ( )Arraysهي :متغير تستطيع تخزين أكثر من قيمة بشرط أن يكون من نفس نوع
البيانات ( )int , string , float ….يبدأ أول عنصر من الفهرس indexمن 0
Syntax
>#include <iostream
;using namespace std
)(int main
{
يعني أن المصفوفة خزنت خمسة (عناصر ) قيم من نوع واحد يبدأ من رقم واحد ]// x[5
;} int x[8] = { 22, 33, 6, 5 , 7
تبدأ عناصر المصفوفة أي أول قيمة من ] index[0دائما فهرس = العنصر ناقص // 1
كل عنصر هو قيمة لكن تحت اسم متغير واحد تستطيع جمعها أو قسمتها كأي قيمة في متغير آخر //
;x[5] = 11
;x[6] = 44
;x[7] = 4
29
)LESSON #40 - ARRAYS WITH FUNCTIONS ( المصفوفات مع الدوال:40 الدرس#
متغير تستطيع تخزين أكثر من قيمة بشرط أن يكون من نفس نوع: ) هيArrays( المصفوفة
0 منindex ) يبدأ أول عنصر من الفهرسint , string , float ….( البيانات
#include <iostream>
using namespace std;
// مهم هذاParameters فيArray ال يحتاج الىBy - Ref & ألنArray معرفة مسبقا ب ّ & فقط
void ReadArrayNumber(int Num[3])
{
cout << "pleas enter Number1 ";
cin >> Num[0]
}
void PrintArrayNumber(int Num[3])
{
cout << Num[0];
}
int main()
{
// خمس أماكن من الذاكرة من النوع5 تحجز: أيint( متغيرات] من5[ كأنك عرفتint)
int x[5] = { 43 ,55, 2, 67,90 };
// قيمة من المتغير/ لطباعةx اسم المتغير، x[ الفهرسindex]
ReadArrayNumber(Num);
PrintArrayNumber(Num);
}
#include <iostream>
using namespace std;
struct strInfo
{
string Name;
short Age;
string Phone;
};
int main()
{
strInfo Person[6];
Person[0].Name = "Saeed";
Person[2].Age = 22;
Person[5].Phone = "0987765";
}
30
)LESSON #42 - CONDITI ONAL STATEMENTS: IF, IF ... ELSE S TATEMENT ( الجم ل الشرطية:42 الدرس #
LESSON #43 - CONDITIONAL ELSE IF STATEMENT الجمل الشرطية :43 الدرس#
Syntax
#include <iostream>
}
// إذا كان يوجد أكثر من شرط نستخدمelse if يمكن استخدامه بعدد ال نهائي
else if (Time < 20)
{
// = صحيح(اذا تحقق الشرطTrue) }{ ينفذ بين القوسين
cout << "Good day ";
}
else
{
// = خطأ(إذا لم يتحقق الشرط أو الشروطfalse) }{ نفذ بين القوسين
cout << "Good evening ";
}
}
31
)LESSON #44 - ENUMS WITH IF STATEMENTS ( العداد مع الجمل الشرطية:44 ا لدرس#
#include <iostream>
using namespace std;
int main()
{
cout << "****************************\n";
cout << "Please Enter the number of your country?\n";
cout << "(1) Jordan\n";
cout << "(2) Tunisa\n";
cout << "(3) Algeria\n";
cout << "(4) Oman\n";
cout << "(5) Egypt\n";
cout << "(6) Iraq\n";
cout << "(7) Other\n";
cout << "****************************\n\n";
cout << "Your Choice? ";
// int مثل التحويل الىenum ال بد من إضافة متغير وتحويل المتغير الىcin عن طريقenum
طريقة قراءة
int c;
enCountryChoice Coutnry;
cin >> c;
Coutnry = (enCountryChoice)c;
if (Coutnry == enCountryChoice::Jordan)
{
cout << "Your country is Jordan\n";
}
else if (Coutnry == enCountryChoice::Tunisa)
{
cout << "Your country is Tunisa\n";
}
else if (Coutnry == enCountryChoice::Algeria)
{
cout << "Your country is Algeria\n";
}
else if (Coutnry == enCountryChoice::Oman)
{
cout << "Your country is Oman\n";
}
else if (Coutnry == enCountryChoice::Egypt)
{
cout << "Your country is Egypt\n";
}
else if (Coutnry == enCountryChoice::Iraq)
{
cout << "Your country is Iraq\n";
}
else
{
return 0;
}
32
)LESSON #45 - SWITCH .. CASE STATEMENT ( الجمل الشرطية مقارنات:45 الدرس#
int day;
cin >> day;
switch (day)
{
// Case 1: يعني هلday == 1 / break يعني إذا كان صحيح توقف واخرج منSwitch
case 1:
cout << "Sunday";
break;
case 2:
cout << "Monday";
// default أي إذا كانتcase )كلها فشلت نفذ هذا األمر(تستطيع االستغناء عنه
default:
cout << "Not a weekday ";
}
33
)LESSON #46 - NESTED FUNCTIONS WITH ENUMS ( الدوال مع التعداد:46 الدرس#
#include <iostream>
using namespace std;
case enWeekDay::Sun:
return "Sunday";
break;
case enWeekDay::Mon:
return "Monday";
break;
case enWeekDay::Tue:
return "Tuesday";
break;
case enWeekDay::Wed:
return "Wednesday";
break;
case enWeekDay::Thu:
return "Thursday";
break;
case enWeekDay::Fri:
return "Friday";
break;
case enWeekDay::Sat:
return "Saturday";
break;
default:
return "Not a weekday!\n";
}
}
int main()
{
ShowWeekDayMenue();
cout << "today is " << GetWeekDayName(ReadWeekDay()) << endl;
}
34
)LESSON #47 - ( FOR LOOPS #الدرس :47حلقات التكرار
تساعدك على تكرار كود معين عدد من المرات ،دون تكرار الكود
طريقة عمل حلقات التكرار :إذا كان الشرط صحيح تعمل حلقات التكرار حتى يصبح الشرط
خطأ يخرج من حلقات التكرار
Syntax
>#include <iostream
;using namespace std
35
)LESSON #48 - FOR LOOP & ARRAYS ( حلقات التكرار مع الصفائف:48 الدرس#
#include <iostream>
#include <string>
using namespace std;
struct strInfo
{
string Name;
int Age;
string Phone;
};
}
void PrintInfo(strInfo Info)
{
//cout << "****************************\n";
}
void PrintPersonInfo(strInfo Persons[100], int NumberofPersons)
{
for (int i = 0; i <= NumberofPersons - 1; i++)
{
cout << "Person's [" << i + 1 << "] Info: \n";
PrintInfo(Persons[i]);
}
}
int main()
{
strInfo Persons[100];
int Length = 1;
ReadPersonInfo(Persons, Length);
PrintPersonInfo(Persons, Length);
}
36
) .LESSON #49 - NESTED FOR LOOPS ( حلقات التكرار داخل بعض:49 الدرس#
for (int x = 1; x <= 10; x++)
{
for (int y = x; y <= 10; y++)
{
cout << y << " ";
}
cout << "\n";
}
إذا كان الشرط صحيح تعمل حلقات التكرار وإذا كان خطأ يخرج:طريقة عمل حلقات التكرار
من حلقات التكرار
Syntax
#include <iostream>
using namespace std;
int main()
{
cout << "\n The Number is : " << ReadIntNumberInRange(18, 45) << endl;
}
37
)LESSON #51 - DO . . . WHILE LOOP ( حلقات التكرار غير المحدودة:51 الدرس#
هي نفذ ثم اعترض (ادفع ثم اعترض ) هي اختصار للكود في حال التكرارDo while loops
) أي اعترض ثم نفذ (اعترض ثم ادفعDo while loops هي عكسwhile loops
Syntax
#include <iostream>
using namespace std;
// ) بدل قراءة تكرار الكود أصبحت قراءة واحدة كود واحد، )اختصر قراءة الرقم
do
{
cout << "Pleas enter a number between " << Form << " and " << To
<< endl;
cin >> Number;
return Number;
}
int main()
{
cout << "\n The Number is : " << ReadIntNumberInRange(18, 45) << endl;
38
#الدرس :52توقف ( )LESSON #52 - BREAK STATEMENT
تستخدم للخروج من حلقات التكرار سواء ()For Loops Or While Loops
Syntax
مثال يستخدم أمر
مع التوقف
)while ( x <= 10
{
)if (x == 5
{
;break for
} while ;break
إذا كان الشرط صحيح اخرج
cout << x << endl;// خارج حلقة التكرار
Print 1,2,3,4,
;x++
}
;int x = 1
)while ( x <= 10
{
)if (x == 5
إذا كان الشرط صحيح اخرج خارج حلقة التكرار//
;break
39
#الدرس :53أكمل ( )LESSON #53 - CONTINUE STATEMENT
تستخدم للرجوع الى بداية حلقة التكرار سواء ( )For Loops Or While Loopsلتنفيذ الشرط
Syntax
مثال يستخدم أمر
مع الرجوع
; for (int x = 1 ; x <= 5
)x++
{
)if (x == 3 إذا تحقق الشرط ارجع الى بداية حلقة
{ for التكرار
;continue while ;continue وإهمال أي كود يأتي بعد
} continue
;cout << x << endl
// Print 1 , 2 , 4 , 5
}
40