
حلقة while loop في لغة البرمجة دارت Dart
حلقة (while loop) في دارت نستخدمها عندما نكون نريد تنفيذ كود لعدة مرات غير محدودة و يتم إيقاف الحلقة عندما يتحقق الشرط الذي قمنا بوضعه أثناء كتابة الكود و يكون الشرط بين قوسين, و تتكوَّن حلقة while loop من شرط واحد فقط إذا كان هذا الشرط صحيح يبقى بداخل الحلقة أما إذا كان الشرط المحدد خاطئ سوف يتوقف عن الدورة و يكون المتغير خارج الأقواس.
في لغة البرمجة Dart، يتم استخدام حلقة “while” لتنفيذ كتلة من الأوامر بشكل متكرر طالما تتحقق شرط معين. تستخدم هذه الحلقة عندما لا يكون لديك معرفة مسبقة بعدد مرات تكرار التنفيذ.
تصنيف الهيكل العام لحلقة “while” في لغة Dart هو كالتالي:
while (condition) { // أوامر الحلقة }
عند تنفيذ الحلقة، يتم تحقيق الشرط أولاً، إذا كان الشرط صحيحًا (true)، يتم تنفيذ أوامر الحلقة. بعد انتهاء تنفيذ أوامر الحلقة، يتم التحقق من الشرط مرة أخرى، ويستمر التنفيذ ما دام الشرط صحيحًا. عندما يصبح الشرط غير صحيح (false)، يتم الخروج من الحلقة ومتابعة تنفيذ الأوامر بعد الحلقة.
فيما يلي مثال بسيط يوضح كيفية استخدام حلقة “while” في لغة Dart:
void main() { int count = 0; while (count < 5) { print('العدد: $count'); count++; } }
في هذا المثال، سيتم طباعة الأعداد من 0 إلى 4. يتم التحقق من الشرط count < 5 في بداية كل تكرار، وبما أن الشرط صحيح في البداية، يتم طباعة قيمة count ويتم زيادة قيمة count بواحد. يتم تكرار هذه العملية حتى يصبح الشرط غير صحيح (عندما تكون قيمة count تساوي 5)، حيث يتم الخروج من الحلقة واستكمال تنفيذ الأوامر بعد الحلقة.
هذا هو الأسلوب الأساسي لاستخدام حلقة “while” في لغة Dart. يمكنك تغيير الشرط وأوامر الحلقة حسب احتياجاتك ومتطلبات برنامجك.
مثال حلقة “while” لطباعة أعداد من 1 إلى 5:
void main() { int count = 1; while (count <= 5) { print(count); count++; } }
مثال حلقة “while” لحساب المجموع من 1 إلى 100:
void main() { int sum = 0; int count = 1; while (count <= 100) { sum += count; count++; } print("المجموع: $sum"); }
مثال حلقة “while” لقراءة الأرقام من المستخدم حتى يدخل رقمًا سلبيًا:
import 'dart:io'; void main() { int number; int sum = 0; while (true) { print("أدخل رقمًا (سالبًا للخروج):"); number = int.parse(stdin.readLineSync()); if (number < 0) { break; } sum += number; } print("مجموع الأرقام: $sum"); }
هذه الأمثلة توضح استخدام حلقة “while” في إجراءات مختلفة. يتم تنفيذ أوامر الحلقة بشكل متكرر طالما يتحقق الشرط المحدد، وتتوقف الحلقة عندما يتم تحقيق شرط الإنهاء أو الخروج من الحلقة. يمكنك تعديل هذه الأمثلة وفقًا لاحتياجاتك الخاصة.
هل يمكنني استخدام حلقة “while” داخل حلقة “while” أخرى؟
نعم، يمكنك استخدام حلقة “while” داخل حلقة “while” أخرى في لغة Dart. هذا المفهوم يُعرف بـ “تضمين الحلقات” أو “حلقات متداخلة”. عند استخدام حلقة “while” في داخل حلقة “while” أخرى، يتم تنفيذ الحلقتين بشكل متوازٍ، حيث يتم تنفيذ الحلقة الداخلية كاملة في كل تكرار للحلقة الخارجية.
فيما يلي مثال يوضح كيفية استخدام حلقتي “while” متداخلتين:
void main() { int outerCount = 1; while (outerCount <= 3) { print("الحلقة الخارجية: $outerCount"); int innerCount = 1; while (innerCount <= 2) { print("الحلقة الداخلية: $innerCount"); innerCount++; } outerCount++; } }
في هذا المثال، يتم تنفيذ الحلقة الخارجية ثلاث مرات (من 1 إلى 3)، وفي كل تكرار يتم طباعة قيمة outerCount. داخل الحلقة الخارجية، يتم تنفيذ الحلقة الداخلية مرتين (من 1 إلى 2)، وفي كل تكرار يتم طباعة قيمة innerCount. يتم تنفيذ الحلقتين بشكل متوازٍ؛ يتم تنفيذ الحلقة الداخلية كاملة في كل تكرار للحلقة الخارجية.
هذا هو مثال بسيط لتوضيح فكرة تضمين الحلقات المتداخلة باستخدام حلقة “while” في لغة Dart. يمكنك تنفيذ حلقات متداخلة بأي عدد من المستويات حسب احتياجات برنامجك.
هل يمكنني استخدام حلقة “while” بدون تحديد شرط نهاية؟
لا يمكن استخدام حلقة “while” في لغة Dart بدون تحديد شرط نهاية. الشرط هو الذي يحدد متى يتم تنفيذ أوامر الحلقة ومتى يتم الخروج منها. إذا لم يكن هناك شرط في الحلقة، فإنها ستكون حلقة لانهائية وستؤدي إلى تجميد تنفيذ البرنامج.
ومع ذلك، يمكنك استخدام قيمة ثابتة أو شرط مستمر (مثل true) كشرط في حلقة “while” إذا كنت ترغب في إنشاء حلقة لانهائية، على سبيل المثال لتنفيذ عملية مستمرة في البرنامج. ومع ذلك، يجب أن تضمن طريقة للخروج من الحلقة بشكل يدوي، مثل استخدام تعبير “break” أو شرط داخلي يتحقق للخروج من الحلقة.
هنا مثال يوضح كيفية استخدام حلقة “while” مع شرط ثابت لإنشاء حلقة لانهائية:
void main() { while (true) { // أوامر الحلقة // يجب تضمين طريقة للخروج من الحلقة // مثلاً باستخدام break في حالة تحقق شرط معين } }
يرجى الملاحظة أنه يجب استخدام هذا النوع من الحلقات اللانهائية بحذر، وضمان وجود طريقة للخروج منها بشكل صحيح.
هل يمكنني استخدام حلقة “while” للتحقق من شرط معين في قائمة؟
نعم، يمكنك استخدام حلقة “while” للتحقق من شرط معين في قائمة أو مصفوفة في لغة Dart. يمكنك استخدام الحلقة لتنفيذ إجراءات معينة بناءً على العناصر الموجودة في القائمة حتى يتم تحقيق الشرط المطلوب.
فيما يلي مثال يوضح كيفية استخدام حلقة “while” للتحقق من شرط في قائمة:
void main() { List<int> numbers = [1, 2, 3, 4, 5]; int index = 0; while (index < numbers.length) { int number = numbers[index]; if (number == 3) { print("تم العثور على العدد 3!"); break; // يتم الخروج من الحلقة إذا تم العثور على العدد 3 } print("عدد آخر: $number"); index++; } }
في هذا المثال، يتم استخدام حلقة “while” لتحقق من قائمة الأرقام numbers. يتم تنفيذ الحلقة مادامت قيمة index أقل من طول القائمة. في كل تكرار، يتم الحصول على العنصر الموجود في المؤشر index ويتم التحقق منه. إذا تم العثور على العدد 3، يتم طباعة رسالة ويتم استخدام تعبير break للخروج من الحلقة. إذا لم يتم العثور على العدد 3، يتم طباعة العدد الآخر ويتم زيادة قيمة index للانتقال إلى العنصر التالي في القائمة.
يمكنك تعديل هذا المثال بحسب احتياجاتك واستخدامك للشرط المعين الذي ترغب في التحقق منه في القائمة.
هل يمكنني استخدام حلقة “while” في لغة Dart بدون وجود شرط؟
لا يمكن استخدام حلقة “while” في لغة Dart بدون وجود شرط. الشرط هو الذي يحدد متى يتم تنفيذ أوامر الحلقة ومتى يتم الخروج منها. إذا لم يكن هناك شرط في الحلقة، فإنها ستكون حلقة لانهائية وستؤدي إلى تجميد تنفيذ البرنامج.
ومع ذلك، يمكنك استخدام قيمة ثابتة أو شرط مستمر (مثل true) كشرط في حلقة “while” إذا كنت ترغب في إنشاء حلقة لانهائية، على سبيل المثال لتنفيذ عملية مستمرة في البرنامج. ومع ذلك، يجب أن تضمن طريقة للخروج من الحلقة بشكل يدوي، مثل استخدام تعبير “break” أو شرط داخلي يتحقق للخروج من الحلقة.
هنا مثال يوضح كيفية استخدام حلقة “while” مع شرط ثابت لإنشاء حلقة لانهائية:
void main() { while (true) { // أوامر الحلقة // يجب تضمين طريقة للخروج من الحلقة // مثلاً باستخدام break في حالة تحقق شرط معين } }
يرجى الملاحظة أنه يجب استخدام هذا النوع من الحلقات اللانهائية بحذر، وضمان وجود طريقة للخروج منها بشكل صحيح.