أساسيات البرمجةالحلقة while
- مفهوم الحلقة
while
- مثال حول الحلقة
while
- تمارين حول الحلقة
while
مفهوم الحلقة while
نستخدم الحلقة while
لإعادة تنفيذ الكود نفسه أكثر من مرة و بشكل خاص إن أردنا تنفيذ الكود عدد غير معروف من المرّات بمعنى أننا لا نعرف أساساً كم مرة بالضبط يجب أن يعاد تنفيذ الكود و لكننا نستمر في تنفيذه طالما أن الشرط الذي وضعناه في الحلقة لا يزال يتحقق.
نستخدم هذه الحلقة لأغراض عديدة، فمثلاً حين يكون لدينا مجموعة من القيم (مصفوفة من القيم) و نريد معرفة ما إن كانت تحتوي على قيمة معينة أم لا فإننا نستخدمها لأجل ذلك لأننا في تلك الحالة نستمر في البحث طالما أن القيمة التي نبحث عنها لم نجدها بعد. هذا الأمر سيمر معك في دروس لاحقة.
في البرامج التي نتعامل فيها مع الملفات نستخدم هذه الحلقة عادةً حين نقوم بقراءة محتوى هذا الملف حرفاً حرفاً لأجل عرضه للمستخدم، فهنا نستمر في ذلك إلى أن نجد أن الملف لم يعد فيه أي أحرف.
طريقة إستخدامها
بشكل عام نستخدم هذه الحلقة على النحو التالي.
{
// statements
}
- condition: هنا نضع الشرط الذي يحدد ما إن كانت الحلقة يجب تتوقف عن تكرار الكود الموجود فيها أم لا. إذاً في كل دورة يتم التأكد أولاً إذا تحقق هذا الشرط أم لا. طالما أنه يتحقق، أي نتيجة الشرط تساوي
true
فهذا يعني أنه سيتم تكرار الكود. - statements: هنا نضع جميع الأوامر التي نريدها أن تتنفذ في كل دورة. بعد أن تتنفذ جميع الأوامر سيصعد المحرر إلى الشرط الموضوع في الحلقة ليرى ما إن كان يجب إعادة تنفيذ هذه الأوامر أم لا.
في حال كنا سنستخدم هذه الحلقة لتنفيذ الأوامر عدد محدد من المرات، يجب أن نعرّف قبلها متغير لاستخدامه كعدّاد فيها, و في آخر كل دورة في الحلقة يجب أن نضيف أو ننقص قيمة العداد تماماً كما نفعل مع الحلقة for
مما يعني أننا سنتخدمها على النحو التالي.
while (condition)
{
// statements
increment أو decrement;
}
- initialization: هنا نقوم بتعريف المتغير الذي سنستخدمه كعداد في الحلقة.
- condition: هنا نضع الشرط الذي يحدد ما إن كانت الحلقة يجب تتوقف عن تنفيذ الأوامر الموجود فيها أم لا.
- statements: هنا نضع جميع الأوامر التي نريدها أن تتنفذ في كل دورة.
- increment أو decrement: هنا نقوم بزيادة أو إنقاص قيمة العداد و بالطبع هذا الأمر سيتنفذ في نهاية كل دورة. و بالطبع بعدها سيصعد المحرر إلى الشرط الموضوع في الحلقة ليرى ما إن كان يجب إعادة تنفيذ الاوامر الموضوعة فيها أم لا.
لا تقلق أبداً إذا لم تفهم ما قلناه حتى الآن لأنك ستفهم ذلك من الأمثلة و التمارين التي ستمر معك.
مثال حول الحلقة while
في المثال التالي قمنا بتعريف حلقة تطبع كلمة Harmash على سطر منفرد 3 مرات.
الكود
var i=1; while (i<=3) { write("Harmash\n"); i++; }
سنحصل على النتيجة التالية عند التشغيل.
Harmash
Harmash
شرح الكود
الفيديو التالي يشرح طريقة عمل الحلقة while
في المثال السابق خطوة خطوة.
تمارين حول الحلقة while
التمرين الأول
بواسطة الحلقة while
إطبع جميع الأرقام الموجودة من 1
إلى 5
مع إظهار كل رقم منهم على سطر منفرد.
التمرين الثاني
- أطلب من المستخدم إدخال رقم و خزّنه في متغير إسمه
n
. - بواسطة الحلقة
while
إطبع جميع الأرقام الموجودة من1
إلىn
مع إظهار كل رقم منهم على سطر منفرد.
التمرين الثالث
بواسطة الحلقة while
إطبع جميع الأرقام الموجودة من 5
إلى 1
مع إظهار كل رقم منهم على سطر منفرد.
التمرين الرابع
- أطلب من المستخدم إدخال رقم و خزّنه في متغير إسمه
n
. - بواسطة الحلقة
while
إطبع جميع الأرقام الموجودة منn
إلى1
مع إظهار كل رقم منهم على سطر منفرد.