شرح تفصيلي لحلقة while
في Dart
تُستخدم حلقة while
في Dart لتكرار تنفيذ جزء من الكود طالما كان الشرط المحدد صحيحًا (true
). يتم استخدام while
عندما لا تعرف مسبقًا عدد التكرارات، ولكن لديك شرط يجب التحقق منه قبل كل تكرار.
الصيغة العامة لحلقة while
while (condition) {
// الكود الذي سيتم تنفيذه طالما أن الشرط صحيح
}
Dartcondition
: الشرط الذي يتم التحقق منه قبل كل تكرار.- إذا كان
condition
يساويtrue
، فسيتم تنفيذ الكود داخل الحلقة. - إذا أصبح
condition
يساويfalse
، يتم إنهاء الحلقة.
مثال 1: طباعة الأرقام من 1 إلى 5
void main() {
int i = 1;
while (i <= 5) {
print("القيمة الحالية لـ i هي: $i");
i++; // زيادة قيمة i لمنع حدوث حلقة لا نهائية
}
}
Dart🔹 الإخراج:
القيمة الحالية لـ i هي: 1
القيمة الحالية لـ i هي: 2
القيمة الحالية لـ i هي: 3
القيمة الحالية لـ i هي: 4
القيمة الحالية لـ i هي: 5
Dart✅ الحلقة تستمر طالما أن i
أقل من أو تساوي 5.
✅ يتم زيادة i
بعد كل تكرار لمنع حدوث حلقة لا نهائية.
مثال 2: العد التنازلي من 5 إلى 1
void main() {
int i = 5;
while (i >= 1) {
print(i);
i--; // تقليل i في كل تكرار
}
}
Dart🔹 الإخراج:
5
4
3
2
1
Dart✅ هنا يتم تصغير i
في كل تكرار حتى يصل إلى 1 ثم تنتهي الحلقة.
استخدام while
مع شرط إدخال المستخدم
يمكن استخدام while
لجعل المستخدم يُدخل قيمة صحيحة قبل الخروج.
مثال 3: طلب إدخال كلمة المرور بشكل متكرر حتى تكون صحيحة
import 'dart:io';
void main() {
String password = "";
while (password != "1234") {
stdout.write("أدخل كلمة المرور: ");
password = stdin.readLineSync()!;
}
print("تم تسجيل الدخول بنجاح!");
}
Dart🔹 الحلقة تستمر حتى يقوم المستخدم بإدخال كلمة المرور الصحيحة (1234
).
🔹 عند إدخال كلمة المرور الصحيحة، تخرج الحلقة وتظهر رسالة نجاح.
استخدام break
و continue
مع while
مثال 4: استخدام break
لإنهاء الحلقة عند العثور على الشرط
void main() {
int i = 1;
while (i <= 10) {
if (i == 5) {
print("تم الوصول إلى 5 وإيقاف الحلقة");
break; // إنهاء الحلقة عند i == 5
}
print(i);
i++;
}
}
Dart🔹 الإخراج:
1
2
3
4
تم الوصول إلى 5 وإيقاف الحلقة
Dart✅ عند الوصول إلى i == 5
، يتم تنفيذ break
وإنهاء الحلقة فورًا.
مثال 5: استخدام continue
لتخطي قيمة معينة
void main() {
int i = 0;
while (i < 5) {
i++;
if (i == 3) {
print("تم تخطي الرقم 3");
continue; // يتجاوز هذا التكرار
}
print(i);
}
}
Dart🔹 الإخراج:
1
2
تم تخطي الرقم 3
4
5
Dart✅ عندما يصل i
إلى 3
، يتم تخطي هذا التكرار فقط باستخدام continue
، لكن الحلقة تستمر.
الحلقة do-while
في Dart
هناك نوع آخر من الحلقات وهو do-while
، ويختلف عن while
العادية في أنه يتم تنفيذ الكود مرة واحدة على الأقل حتى لو كان الشرط false
.
الصيغة العامة لـ do-while
do {
// الكود الذي سيتم تنفيذه
} while (condition);
Dart- يتم تنفيذ الكود مرة واحدة على الأقل ثم يتم التحقق من الشرط.
- إذا كان الشرط
true
، تستمر الحلقة، وإذا كانfalse
، تتوقف.
مثال 6: الفرق بين while
و do-while
استخدام while
العادي:
void main() {
int i = 10;
while (i < 5) {
print("لن يتم تنفيذ هذا لأن i = 10 وهو ليس أقل من 5");
}
}
Dart🔹 الإخراج:
scssنسختحرير(لا يوجد أي إخراج لأن الشرط خاطئ من البداية)
✅ هنا، لم يتم تنفيذ الحلقة أبدًا لأن i = 10
وهي غير أصغر من 5
.
استخدام do-while
لتنفيذ الكود مرة واحدة على الأقل:
void main() {
int i = 10;
do {
print("تم تنفيذ هذا الكود مرة واحدة رغم أن i = 10");
} while (i < 5);
}
Dart🔹 الإخراج:
نسختحريرتم تنفيذ هذا الكود مرة واحدة رغم أن i = 10
✅ حتى لو كان الشرط خاطئًا من البداية، فإن الكود يتم تنفيذه مرة واحدة على الأقل.
الفرق بين while
و do-while
المقارنة | while | do-while |
---|---|---|
متى يتم تنفيذ الكود؟ | عندما يكون الشرط صحيحًا من البداية | يتم تنفيذ الكود مرة واحدة على الأقل ثم يتم التحقق من الشرط |
عدد مرات التكرار الأدنى | قد لا يتم تنفيذ الحلقة أبدًا | يتم تنفيذ الحلقة مرة واحدة على الأقل |
التطبيقات الشائعة | التكرار بشرط معروف مسبقًا | تنفيذ الكود أولًا ثم التحقق من الشرط لاحقًا |
خلاصة
✅ while
تُستخدم عندما لا تعرف عدد التكرارات مسبقًا ولكن لديك شرط للتحقق منه قبل كل تكرار.
✅ do-while
تُستخدم إذا كنت تريد تنفيذ الكود مرة واحدة على الأقل قبل التحقق من الشرط.
✅ يمكن استخدام break
لإنهاء الحلقة و continue
لتخطي تكرار معين.
🚀 الآن لديك فهم قوي لحلقة while
في Dart! 🎯