حلقة 'do-while' التكرارية
جزء من قسم Fundamentals في رحلة Dart على Coddy — الدرس 44 من 94.
تقوم حلقة do-while في Dart بتنفيذ كتلة من الكود مرة واحدة قبل التحقق من الشرط، ثم تستمر في التكرار طالما أن الشرط true.
أنشئ حلقة do-while تقوم بالعد من 1 إلى 5:
void main() {
int count = 1;
do {
print(count);
count++;
} while (count <= 5);
}عند تشغيل هذا الكود، ستكون المخرجات:
1
2
3
4
5على عكس حلقة while، فإن حلقة do-while تُنفذ دائماً مرة واحدة على الأقل:
void main() {
int number = 10;
do {
print("This will print once: $number");
number++;
} while (number < 5);
}بعد تنفيذ الكود أعلاه، ستكون النتيجة:
This will print once: 10التحدي
مبتدئفي هذا التحدي، ستتدرب على استخدام حلقة do-while في Dart. على عكس حلقة while العادية، فإن حلقة do-while تقوم دائماً بتنفيذ كتلة الكود مرة واحدة على الأقل قبل التحقق من الشرط.
مهمتك هي إنشاء برنامج يقوم بما يلي:
- قراءة عدد صحيح واحد من المدخلات
- استخدام حلقة
do-whileلطباعة جميع الأرقام من المدخلات تنازلياً حتى 1 - بعد كل رقم، طباعة ما إذا كان زوجياً (even) أو فردياً (odd)
- الاستمرار حتى يصل الرقم إلى 1
- أخيراً، طباعة مجموع كل الأرقام التي تم عرضها
على سبيل المثال، إذا كانت المدخلات 4، يجب أن يخرج برنامجك:
4 is even
3 is odd
2 is even
1 is odd
Sum: 10لاحظ أن كل سطر يظهر الرقم متبوعاً بما إذا كان زوجياً أو فردياً، ويتم طباعة المجموع في النهاية.
ورقة مرجعية
تقوم حلقة do-while بتنفيذ كتلة من التعليمات البرمجية مرة واحدة قبل التحقق من الشرط، ثم تستمر في التكرار طالما أن الشرط صحيح.
الصيغة الأساسية:
do {
// كتلة التعليمات البرمجية
} while (condition);مثال على العد من 1 إلى 5:
int count = 1;
do {
print(count);
count++;
} while (count <= 5);على عكس حلقة while، فإن حلقة do-while يتم تنفيذها دائماً مرة واحدة على الأقل، حتى لو كان الشرط خاطئاً في البداية:
int number = 10;
do {
print("This will print once: $number");
number++;
} while (number < 5);جرّب بنفسك
import 'dart:io';
void main() {
// قراءة المدخلات
String? input = stdin.readLineSync();
int number = int.parse(input ?? '0');
// تهيئة المجموع
int sum = 0;
// اكتب كودك هنا - استخدم حلقة do-while للعد التنازلي من الرقم إلى 1
// اطبع كل رقم وما إذا كان زوجياً أم فردياً
// احسب مجموع كل الأرقام
// اطبع المجموع
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4المعاملات - الجزء الثاني
معاملات المقارنةالمعامل المنطقي ANDالمعامل المنطقي ORالمعامل المنطقي NOTمعاملات فحص النوعملخص - إجراء المقارنات7التعامل مع النصوص (Strings)
دمج النصوص (String Concatenation)تضمين النصوص (String Interpolation)النصوص متعددة الأسطر (Multi-line Strings)خصائص النصوص (String Properties)دوال النصوص الأساسية (String Methods)10المجموعات - أساسيات الخرائط
ما هي الخرائط؟إنشاء خريطةالوصول إلى القيم عبر المفتاحأزواج المفتاح والقيمةالحصول على حجم الخريطةالحصول على المفاتيحالحصول على القيمالتحقق من وجود مفتاح2المتغيرات وأنواع البيانات الأساسية
ما هي المتغيرات؟النصوص (Strings)الأعداد الصحيحة (int)الأعداد العشرية (double)القيم المنطقية (bool)استنتاج النوع باستخدام 'var'المتغيرات النهائية (Final)المتغيرات الثابتة (Constant)قواعد التسميةأساسيات الـ Null Safetyملخص - التصريح عن المتغيرات8مسار التحكم - الحلقات التكرارية
حلقة 'for' التكراريةحلقة 'while' التكراريةحلقة 'do-while' التكراريةاستخدام 'break' في الحلقات التكراريةاستخدام 'continue' في الحلقات التكراريةملخص - تكرار الكود البرمجي3المعاملات - الجزء الأول
المعاملات الحسابيةالقسمة الصحيحةمعامل باقي القسمة (Modulo)الزيادة والنقصاناختصارات التعيينملخص - الحسابات البسيطة6تدفق التحكم - اتخاذ القرار
جملة 'if'جملة 'else'جملة 'else if'ملخص - القرارات البسيطةجمل 'if' المتداخلةجملة 'switch'9المجموعات - أساسيات القوائم
ما هي القوائم؟إنشاء قائمةالوصول عبر الفهرسالحصول على طول القائمةإضافة عناصرإزالة عناصرالتحقق مما إذا كانت القائمة فارغةالتكرار عبر القائمة