📚 التكرارات Loops
المفاهيم الأساسية
التكرارات (Loops): هياكل برمجية في ++C تسمح بتنفيذ مجموعة من التعليمات البرمجية بشكل متكرر بناءً على شرط معين.
خريطة المفاهيم
```markmap
برمجة إنترنت الأشياء باستخدام C++
أساسيات لغة C++
التعليقات (Comments)
#### التعليق في سطر واحد
- يستخدم الرمزين: //
- مثال: // this is a comment
#### التعليق متعدد الأسطر
- يستخدم الرمزين: / /
- مثال: / ... /
#### استخدامات التعليقات
- تحسين قابلية قراءة البرنامج
- تسهيل فهم وظائف البرنامج للمبرمجين والمراجعين
- جعل أجزاء من الكود غير نشطة أثناء الاختبار
المعاملات الأساسية
#### المعاملات الرياضية
- الجمع (+)
- الطرح (-)
- الضرب (*)
- القسمة (/)
- باقي القسمة (%)
##### ملاحظة
- في الأعداد الصحيحة (int): "/" لحاصل القسمة، "%" لباقي القسمة
- في الأعداد العشرية (float/double): "/" فقط لحاصل القسمة
#### معاملات الإسناد
- الإسناد (=)
- الجمع والإسناد (+=)
- الطرح والإسناد (-=)
- الضرب والإسناد (*=)
- القسمة والإسناد (/=)
- باقي القسمة والإسناد (%=)
#### المعاملات العلائقية
- يساوي (==)
- لا يساوي (!=)
- أكبر من (>)
- أصغر من (<)
- أكبر أو يساوي (>=)
- أصغر أو يساوي (<=)
#### المعاملات المنطقية
- AND المنطقية (&&)
- OR المنطقية (||)
- NOT المنطقية (!)
الطباعة والإخراج
العبارات الشرطية
#### أنواع العبارات الشرطية
- عبارة `if`
- عبارة `if... else if... else`
- عبارة `if... else if... else if...`
#### عبارة `if` البسيطة
- الصيغة: `if (condition) { // body }`
- آلية العمل:
- يتم فحص الشرط بين القوسين.
- إذا كان الشرط صائباً (True)، تُنفَّذ التعليمات داخل الأقواس `{}`.
- إذا كان الشرط خاطئاً (False)، تُتخطَّى التعليمات داخل الأقواس.
#### عبارة `if...else`
##### التركيب
if (condition) {
// block of code 1 if condition is true
}
else {
// block of code 2 if condition is false
}
##### آلية العمل
- يتم أولاً تقييم الشرط.
- إذا كان الشرط صائباً (True)، تُنفَّذ التعليمات داخل `if` وتُتخطَّى التعليمات داخل `else`.
- إذا كان الشرط خاطئاً (False)، تُتخطَّى التعليمات داخل `if` وتُنفَّذ التعليمات داخل `else`.
#### عبارة `if..else if..else`
##### التركيب
if (condition1) {
// code block 1
}
else if (condition2) {
// code block 2
}
else {
// code block 3
}
##### آلية العمل (مخطط التدفق)
- إذا كان
صواب: تنفيذ
تعليمات برمجية 1 ثم الخروج.
- إذا كان خطأ: الانتقال لفحص الشرط الثاني.
- إذا كان صواب: تنفيذ تعليمات برمجية 2 ثم الخروج.
- إذا كان خطأ: تنفيذ تعليمات برمجية 3 ثم الخروج.
##### حالات التنفيذ
###### إذا كان الشرط الأول صائباً
- تُنفَّذ مجموعة التعليمات البرمجية الأولى.
- تُتخطَّى مجموعتي التعليمات الثانية والثالثة.
###### إذا كان الشرط الأول خطأ والثاني صائباً
- تُنفَّذ مجموعة التعليمات البرمجية الثانية.
- تُتخطَّى مجموعة التعليمات البرمجية الثالثة.
###### إذا كانت كافة الشروط خطأ
- تُنفَّذ مجموعة التعليمات البرمجية الثالثة (الخاصة بـ `else`).
##### العبارات الشرطية المتداخلة
- يمكن تضمين عبارة `if` داخل مجموعة تعليمات برمجية لعبارة `if` أخرى.
- لا يُشترط أن تكون من نفس النوع.
التكرارات (Loops)
#### أنواع التكرارات
##### تكرار `for`
- الصيغة: `for (تهيئة المتغير; الشرط; معامل الزيادة) { // loop statements; }`
- آلية العمل:
1.
التهيئة: تنفذ مرة واحدة فقط قبل بدء التكرار.
2. فحص الشرط: إذا كان صواب، تُنفَّذ جمل التكرار.
3. الزيادة: تحديث قيم المتغيرات بعد تنفيذ الجمل.
4. التكرار: يستمر حتى يصبح الشرط خطأ.
##### تكرار `while`
- الصيغة: `while (condition) { // loop statements; }`
- آلية العمل:
1.
فحص الشرط أولاً.
2. إذا كان صواباً، تُنفَّذ عبارات التكرار.
3. إذا كان خطأ، يتوقف التكرار وتُتخطَّى العبارات.
##### تكرار `do...while`
- الصيغة: `do { // statement execution; } while (condition);`
- آلية العمل:
1.
تنفيذ التعليمات أولاً مرة واحدة على الأقل.
2. فحص الشرط بعد التنفيذ.
3. إذا كان الشرط صواباً، يعود لتنفيذ التعليمات مرة أخرى.
4. إذا كان خطأ، يتوقف التكرار.
```
نقاط مهمة
- أنواع التكرارات في ++C هي: `for`، `while`، `do...while`.
- تكرار `for` يتحكم في عدد مرات التنفيذ بواسطة عداد (متغير) يتم تهيئته وزيادته ضمن صيغته.
- تكرار `while` يفحص الشرط قبل تنفيذ التعليمات، وقد لا ينفذها أبداً إذا كان الشرط خاطئاً من البداية.
- تكرار `do...while` يضمن تنفيذ التعليمات مرة واحدة على الأقل لأنه يفحص الشرط بعد التنفيذ.