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