التخطي إلى المحتوى
شرح دورة الـ JavaScript للمبتدئين – الدرس السادس
سوف نتحدث فى هذا الدرس عن..
  1. حلقه التكرار (while)
  2. حلقه التكرار (do .. while)

تحدثنا فى الدرس السابق عن حلقات التكرار وماذا تعنى وتحدثنا عن حلقه التكرار (for) , والآن سوف نكمل شرح باقى أنواع حلقات التكرار.

 

حلقه التكرار (while)

فى هذه الطريقه يتم تنفيذ ما بداخل الحلقه طالما الشرط متحقق , وفى كل مره تريد الدخول إلى الحلقه يتم التحقق من الشرط أولا وإذا تحقق الشرط يتم الدخول إلى داخل الحلقه وتنفيذ الأوامر التى بداخلها , وإذا لم يتحقق الشرط … لا تنفذ الاوامر داخل الحلقه ويتم تنفيذ الأوامر التى بخارج الحلقه إذا وجدت.

صيغتها

while (شرط الحلقه)
{
نفذ هذه الاوامر – فى حاله تحقق الشرط
.
.
مقدار الزياده
}                                                               

لابد من ملاحظه أن جمله (while)  يجب أن تحتوى على ..

  1. متغیر نضعه بالشرط لكي نتحقق من صحة الشرط.
  2. لابد من تعريف المتغير ویجب وضع قیمة إبتدائیة لهذا المتغیر قبل جملة ال (while).
  3. یجب أن نذكر هذا المتغیر ومقدار زیادته بداخل حلقة الشرط سواءا قبل أوامر الحلقه أو بعدها.

ولفهم عمل الحلقه بوضوح إليكم هذا المثال

java.L6.pic1
java.L6.pic2

شرح هذا المثال

  1. فى البدايه تم تعريف متغير اسمه (i) وتم وضع قيمه ابتدائيه له وهى (0).
  2. تم وضع الشرط (i<=10) فى جمله (while)  , وفى هذا الشرط يتم السؤال هل قيمه (0=i) أقل من أو يساوى (10) , فكانت الاجابه نعم وبذلك فإن الشرط تحقق وتم الدخول إلى داخل الحلقه.
  3. بعد دخول الحلقه فإنه يتم تنفيذ أمر الطباعه وهذا الأمر يطبع  قيمه (i) الحاليه وهى (0) وبعد ذلك يتم النزول سطر من خلال الامر (<br>), وفى السطر التالى نلاحظ أمر (++i) وهذا يعنى أن نزيد قيمه (i) بمقدار واحد لتصبح قيمه (i) الحاليه هى (1).
  4. بعد ذلك يتم الرجوع إلى بدايه الحلقه ويتم التحقق من الشرط مره أخرى ولنجد أن قيمه (i=1) أقل من (10) أى تحقق الشرط , ويتم الدخول لداخل الحلقه وتنفيذ أمر الطباعه وهنا سوف يطبع قيمه (i) الحاليه وهى (1) وبعد ذلك يتم زياده قيمه (i) بمقدار واحد لتصبح قيمه (2=i) ويتم الرجوع لبدايه الحلقه وهكذا يستمر إلى أن يصل قيمه (i) إلى (11).
  5. فى هذه الحاله يتم السؤال هل قيمه (11=i) أقل من أو تساوى (10) , فنجد الاجابه لا , وبذلك يتم الخروج من الحلقه وتنفيذ الأمر الذى بخارج الحلقه وهو طباعه  الجمله (الأعداد بالترتيب التصاعدى) .

حلقه التكرار (do…while)

فى هذه الحلقه يتم تنفيذ الاوامر التى بداخل الحلقه وبعد ذلك يتم التحقق من الشرط , إذ تحقق الشرط يتم الرجوع إلى بدايه الحلقه وتنفذ الأوامر , وإذا لم يتحقق الشرط يتم الخروج من الحلقه وتنفذ الأوامر الخارجيه.

صيغتها

do
{
نفذ هذه الأوامر
.
.
مقدار الزياده
}
while (إذا تحقق الشرط – عد إلى داخل الحلقه مره أخرى ونفذ الأوامر)

 

يجب أن تحتوى جمله (do .. while) على ما يلى

  1. متغیر نضعه بالشرط لكي نتحقق من صحة الشرط .
  2. یجب وضع قیمة إبتدائیة لهذا المتغیر قبل جملة ال (do .. while).
  3. یجب أن نذكر هذا المتغیرومقدار زیادته بداخل حلقة الشرط سواء  قبل تنفیذ الجملة التى بداخل حلقه التكرار أو بعدها .

مثال على ما سبق

java.L6.pic3
java.L6.pic4

شرح هذا المثال

  1. فى البدايه تم تعريف المتغير (i)  وتم وضع قيمه ابتدائيه له وهى (10=i).
  2. تم الدخول إلى داخل الحلقه وتم تنفيذ أمر الطباعه  وهو طباعه قيمه (i) الحاليه وهى (10) والنزول سطر من خلال الامر ( <br> ), وفى السطر الذى يليه نلاحظ الامر ( –i ) وهذا يعنى أن ننقص من قيمه (i)  واحد لتصبح قيمه (9=i) .
  3. وبعد ذلك نأتى إلى الشرط ( i>=0 ) ونسأل هل قيمه (i) أكبر من أو تساوى (0) , فتصبح الإجابه نعم .
  4.  لذلك يتم الرجوع إلى بدايه الحلقه مره أخرى ويتم طباعه أمر الطباعه ويتم طباعه قيمه (i) الحاليه وهى ( 9 ) ويتم النزول سطر , وبعد ذلك يتم انقاص قيمه (i) بمقدار (1) لتصبح قيمه (i) تساوى (8) , وبعد ذلك يتم التحقق من الشرط ونجد أن الشرط متحقق .
  5. ويتم تكرار ذلك إلى أن تصبح قيمه ( i ) أقل من (0) وبذلك لا يتحقق الشرط ويتم الخروج من الحلقه ويتم تنفيذ الامر بالخارج وهو طباعه جمله (الأعداد بالترتيب التنازلى).

لنعرف الآن ما الفرق بين (while) و (do…while) ؟

 

فى (while)

               فى البدايه يتم التحقق من الشرط أولا قبل الدخول إلى الحلقه أى أننا لا ننفذ أى أمر بداخل الحلقه ما دام الشرط غير متحقق لاننا لم ندخل الى الحلقة أصلا فكیف نعرف مابداخلها وننفذه .

 

أما فى (do…while) 

                         يتم الدخول إلى الحلقه وتنفيذ الأوامر التى بداخلها ثم بعد ذلك يتم فحص الشرط هل هو متحقق أم لا ولكن بعد أن نكون نفذنا الأوامر التى بداخل الحلقه , ویجب التنبیه هنا ” في حالة عدم تحقق الشرط لن نعود مرة أخرى إلى (do).

 

إذا الفرق هو أن (do…while) ينفذ على الأقل الأوامر التى داخل الحلقه مره واحده حتى لو كان الشرط غير متحقق على عكس (while) الذى لا ينفذ الأوامر التى بداخل الحلقه ما دام الشرط غير متحقق.

عن الكاتب

التعليقات

أضف تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

Shares