while loop

✅ أولاً: ما هي حلقة while؟

هي حلقة تكرار تقوم بتنفيذ كود معين طالما أن الشرط صحيح (true). أي أنها تتحقق من الشرط أولًا، ثم تنفذ الكود.

✅ الصيغة العامة:
while (الشرط) {
  // الكود الذي يتم تنفيذه
}
JavaScript

إذا كان الشرط false من البداية، فلن تُنفذ الحلقة إطلاقًا.

✅ مثال بسيط:

let i = 1;

while (i <= 5) {
  console.log("القيمة:", i);
  i++;
}
JavaScript

✅ الخصائص العامة لحلقة while:

الخاصيةالشرح
تتحقق من الشرط أولًاإذا لم يتحقق الشرط، فلن يتم تنفيذ الكود الداخلي أبدًا.
لا تحتوي على عداد تلقائييجب أن تُحدث المتغير (مثل i++) يدويًا لتجنب التكرار اللانهائي.
مناسبة للتكرار غير المعروف مسبقًاتُستخدم عندما لا تعرف عدد التكرارات بالضبط (مثل انتظار إدخال صحيح من المستخدم).

✅ أمثلة عملية:

📌 1. طباعة الأرقام من 1 إلى 10
let i = 1;

while (i <= 10) {
  console.log(i);
  i++;
}
JavaScript

📌 2. استخراج الأرقام فقط من مصفوفة

let arr = [1, "نص", true, 4, "كلمة", false];
let i = 0;

while (i < arr.length) {
  if (typeof arr[i] === "number") {
    console.log("رقم:", arr[i]);
  }
  i++;
}
JavaScript
📌 3. إدخال من المستخدم حتى يكتب كلمة معينة (محاكاة)
let input;
let counter = 0;

while (input !== "خروج") {
  // لاحظ: prompt لا تعمل خارج المتصفح
  input = prompt("اكتب أي شيء (اكتب 'خروج' للخروج):");
  counter++;
}

console.log("عدد المحاولات:", counter - 1);
JavaScript
📌 4. تكرار عشوائي حتى ظهور رقم معين
let num;

while (num !== 7) {
  num = Math.floor(Math.random() * 10); // عشوائي من 0 إلى 9
  console.log("جربنا:", num);
}
JavaScript
📌 5. التكرار على مصفوفة بدون for
let names = ["أحمد", "سارة", "ليلى"];
let index = 0;

while (index < names.length) {
  console.log("الاسم:", names[index]);
  index++;
}
JavaScript
❗ التحذير من الحلقات اللانهائية:
let i = 1;

while (i <= 5) {
  console.log(i);
  // ❌ إذا لم تكتب i++، ستتكرر إلى ما لا نهاية
}
JavaScript

✅ متى تستخدم while بدل for؟

تستخدم while عندما:
لا تعرف عدد التكرارات مسبقًا
تريد الانتظار لشرط معين ليتحقق
تريد تكرار العملية بناءً على إدخال المستخدم أو شرط ديناميكي

✅ مقارنة مع for:

الفرقforwhile
معرفة عدد التكرارات؟الأفضل إذا كنت تعرف العدد مسبقًاالأفضل إذا لا تعرف العدد مسبقًا
كتابة الشرط؟كل شيء داخل السطر الواحد (for)تحتاج لتحديث المتغير يدويًا
✅ أولاً: ما هي do...while؟

هي حلقة تكرار تشبه while، لكن الفرق الأساسي هو:

🔁 تنفذ الكود أولاً ثم تتحقق من الشرط!

يعني: تُنفذ على الأقل مرة واحدة مهما كان الشرط.

✅ الشكل العام:

do {
  // الكود الذي يتم تنفيذه أولاً
} while (الشرط);
JavaScript
✅ الفرق الجوهري بين while و do...while:
المقارنةwhiledo...while
التحقق من الشرطقبل تنفيذ الكودبعد تنفيذ الكود مرة واحدة على الأقل
تنفيذ مضمون الكودفقط إذا تحقق الشرطدائمًا يتم تنفيذه مرة واحدة أولًا
الاستخدام الشائععند احتمال عدم الحاجة للتنفيذعند الرغبة في تنفيذ الكود مرة واحدة على الأقل
✅ مثال 1: استخدام do...while لطباعة الأرقام
let i = 1;

do {
  console.log("الرقم:", i);
  i++;
} while (i <= 5);
JavaScript
✅ مثال 2: الفرق العملي بينها وبين while
let x = 10;

while (x < 5) {
  console.log("لن تظهر");
}
JavaScript

❌ لن يتم تنفيذ الكود لأن الشرط خاطئ من البداية.

مثال:

let x = 10;

do {
  console.log("تم تنفيذ الكود مرة واحدة!");
} while (x < 5);
JavaScript
✅ مثال 3: إدخال مستخدم حتى يكتب “نعم”
let answer;

do {
  answer = prompt("هل تريد المتابعة؟ (اكتب نعم للمتابعة):");
} while (answer !== "نعم");

console.log("تمت المتابعة ✅");
JavaScript

✅ يتم عرض prompt دائمًا مرة واحدة على الأقل، حتى لو كان المستخدم لا يريد.

✅ مثال 4: بناء قائمة تلقائية حتى رقم معين
let i = 1;
let result = "";

do {
  result += `عنصر ${i}\n`;
  i++;
} while (i <= 3);

console.log(result);
JavaScript
✅ ملخص متى تستخدم do...while
استخدمها عندما:
تحتاج تنفيذ الكود على الأقل مرة واحدة (مثل الطلب من المستخدم)
تتعامل مع إجراءات تحدث أولاً ثم يتم التحقق من صحتها
تريد التأكد من تنفيذ الكود قبل التحقق من الشرط
✅ مقارنة أخيرة بين while و do...while و for
النوعمتى يستخدم؟
forعندما تعرف عدد التكرارات مسبقًا
whileعندما لا تعرف عدد التكرارات وتريد التحقق قبل التكرار
do...whileعندما تريد تنفيذ الكود مرة واحدة على الأقل قبل التحقق