إعلان
تعلم الآن

تعلم البرمجة للمبتدئين الحلقة while

مفهوم الحلقة while

نستخدم الحلقة while لإعادة تنفيذ الكود نفسه أكثر من مرة و بشكل خاص إن أردنا تنفيذ الكود عدد غير معروف من المرّات بمعنى أننا لا نعرف أساساً كم مرة بالضبط يجب أن يعاد تنفيذ الكود و لكننا نستمر في تنفيذه طالما أن الشرط الذي وضعناه في الحلقة لا يزال يتحقق.

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

في البرامج التي نتعامل فيها الملفات نستخدم هذه الحلقة عادةً حين نقوم بقراءة محتوى هذا الملف حرفاً حرفاً لأجل عرضه للمستخدم, فهنا نستمر في ذلك إلى أن نجد أن الملف لم يعد فيه أي أحرف.


طريقة إستخدامها

بشكل عام نستخدم هذه الحلقة على النحو التالي.

while (condition)
{
    // statements
}

  • condition:   هنا نضع الشرط الذي يحدد ما إن كانت الحلقة يجب تتوقف عن تكرار الكود الموجود فيها أم لا. إذاً في كل دورة يتم التأكد أولاً إذا تحقق هذا الشرط أم لا. طالما أنه يتحقق, أي نتيجة الشرط تساوي true فهذا يعني أنه سيتم تكرار الكود.

  • statements:   هنا نضع جميع الأوامر التي نريدها أن تتنفذ في كل دورة. بعد أن تتنفذ جميع الأوامر سيصعد المحرر إلى الشرط الموضوع في الحلقة ليرى ما إن كان يجب إعادة تنفيذ هذه الأوامر أم لا.

في حال كنا سنستخدم هذه الحلقة لتنفيذ الأوامر عدد محدد من المرات, يجب أن نعرّف قبلها متغير لاستخدامه كعدّاد فيها, و في آخر كل دورة في الحلقة يجب أن نضيف أو ننقص قيمة العداد تماماً كما نفعل مع الحلقة for مما يعني أننا سنتخدمها على النحو التالي.

initialisation;

while (condition)
{
    // statements
    increment أو decrement;
}

  • initialisation:   هنا نقوم بتعريف المتغير الذي سنستخدمه كعداد في الحلقة.

  • condition:   هنا نضع الشرط الذي يحدد ما إن كانت الحلقة يجب تتوقف عن تنفيذ الأوامر الموجود فيها أم لا.

  • statements:   هنا نضع جميع الأوامر التي نريدها أن تتنفذ في كل دورة.

  • increment أو decrement:   هنا نقوم بزيادة أو إنقاص قيمة العداد و بالطبع هذا الأمر سيتنفذ في نهاية كل دورة. و بالطبع بعدها سيصعد المحرر إلى الشرط الموضوع في الحلقة ليرى ما إن كان يجب إعادة تنفيذ الاوامر الموضوعة فيها أم لا.

ملاحظة

لا تقلق أبداً إذا لم تفهم ما قلناه حتى الآن لأنك ستفهم ذلك من الأمثلة و التمارين التي ستمر معك.

مثال حول الحلقة while

في المثال التالي قمنا بتعريف حلقة تطبع كلمة Harmash على سطر منفرد 3 مرات.

الكود

var i=1;

while (i<=3)
{
    write("Harmash\n");
    i++;
}
		

سنحصل على النتيجة التالية عند التشغيل.

Harmash
Harmash
Harmash

تجربة الكود


شرح الكود

الفيديو التالي يشرح طريقة عمل الحلقة while في المثال السابق خطوة خطوة.

تمارين حول الحلقة while


التمرين الأول

بواسطة الحلقة while إطبع جميع الأرقام الموجودة من 1 إلى 5 مع إظهار كل رقم منهم على سطر منفرد.

الحل و التفسير »


التمرين الثاني

  1. أطلب من المستخدم إدخال رقم و خزّنه في متغير إسمه n.
  2. بواسطة الحلقة while إطبع جميع الأرقام الموجودة من 1 إلى n مع إظهار كل رقم منهم على سطر منفرد.

الحل و التفسير »


التمرين الثالث

بواسطة الحلقة while إطبع جميع الأرقام الموجودة من 5 إلى 1 مع إظهار كل رقم منهم على سطر منفرد.

الحل و التفسير »


التمرين الرابع

  1. أطلب من المستخدم إدخال رقم و خزّنه في متغير إسمه n.
  2. بواسطة الحلقة while إطبع جميع الأرقام الموجودة من n إلى 1 مع إظهار كل رقم منهم على سطر منفرد.

الحل و التفسير »

الدورات

أدوات مساعدة

أقسام الموقع

دورات
مقالات كتب مشاريع أسئلة