Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

حلقة '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
challenge icon

التحدي

مبتدئ

في هذا التحدي، ستتدرب على استخدام حلقة do-while في Dart. على عكس حلقة while العادية، فإن حلقة do-while تقوم دائماً بتنفيذ كتلة الكود مرة واحدة على الأقل قبل التحقق من الشرط.

مهمتك هي إنشاء برنامج يقوم بما يلي:

  1. قراءة عدد صحيح واحد من المدخلات
  2. استخدام حلقة do-while لطباعة جميع الأرقام من المدخلات تنازلياً حتى 1
  3. بعد كل رقم، طباعة ما إذا كان زوجياً (even) أو فردياً (odd)
  4. الاستمرار حتى يصل الرقم إلى 1
  5. أخيراً، طباعة مجموع كل الأرقام التي تم عرضها

على سبيل المثال، إذا كانت المدخلات 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
  // اطبع كل رقم وما إذا كان زوجياً أم فردياً
  // احسب مجموع كل الأرقام
  
  // اطبع المجموع
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Fundamentals