بعد
ان عرفنا العبارات الشريطة وكيفية تحديد مسار برنامجنا
, نأتي الان الى عبارات التكرار , وكما يدل اسمها ,
فإننا نكرر شيء معين ونقوم بتكراره وتكراره, واستخدام
هذه العباره له فوائد عديده وكبيره , تخيل ان لديك كود
معين وتلاحظ انك تقوم بكتابة هذا الكود اكثر من مره ,
لكي تصل الى هدف معين , فلماذا لا تختصر الوقت وتجعل
الكود يقوم بتكرار نفسه الى حد معين تقوم انت بتحديده
, الا يتعبر ذلك اسهل واوفر من ناحية الوقت والتنفيذ ؟
وايضا الجهد الذي ستقوم بتوفيره لاكواد اخرى. ان ذلك
لا يعني ان عبارة التكرار سهله او يمكن عملها في لحظات
, عبارة التكرار يجب ان تفهم جيدا قبل كتابتها و
التفكير في كيفية عملها والناتج الذي نريد الخروج به
من عملها...
بسم
الله الرحمن الرحيم
متطلبات قبل البدأ :
اهداف
الدرس:
- عبارة
التكرار WHILE
- مثال
تطبيقي
عبارة
التكرار WHILE :
بعد ان
عرفنا العبارات الشريطة وكيفية تحديد مسار برنامجنا ,
نأتي الان الى عبارات التكرار , وكما يدل اسمها ,
فإننا نكرر شيء معين ونقوم بتكراره وتكراره, واستخدام
هذه العباره له فوائد عديده وكبيره , تخيل ان لديك كود
معين وتلاحظ انك تقوم بكتابة هذا الكود اكثر من مره ,
لكي تصل الى هدف معين , فلماذا لا تختصر الوقت وتجعل
الكود يقوم بتكرار نفسه الى حد معين تقوم انت بتحديده
, الا يتعبر ذلك اسهل واوفر من ناحية الوقت والتنفيذ ؟
وايضا الجهد الذي ستقوم بتوفيره لاكواد اخرى. ان ذلك
لا يعني ان عبارة التكرار سهله او يمكن عملها في لحظات
, عبارة التكرار يجب ان تفهم جيدا قبل كتابتها و
التفكير في كيفية عملها والناتج الذي نريد الخروج به
من عملها. هل تريد مثلالا على ذلك لتوضيح الصوره ؟
تخيل في بقالتنا الالكترونيه المشتري يقوم بشراء اكثر
من منتج , ولكي حسابها يجب ان نجمع جميع المنتجات مع
بعضها البعض وحساب المبلغ الكلي اليس ذلك صحيحا ؟ سوف
نقوم بحسابها بالطريقة التاليه ( المنتج الاول +
المنتج الثاني + المنتج الثالث + المنتج الرابع ) سوف
نقوم بجمع كل منتج واضافته الى المجموع الكلي لنحصل
على الناتج الكلي , اليس ذلك صحيحا ؟ سوف نتعلم كيف
استخدام عبارة التكرار هذه ونأخذ عليها امثله كافيه
لكي تتضح لك الصوره . طريقة كتابة عبارة
WHILE الشرطيه كالتالي

لنأخذ بعض
الامثله على طريقة كتابة عبارة التكرار
WHILE , تخيل انك تريد
طباعة الارقام من 1 الى 5 , كم سطر سيتطلب من كتابته ؟
افتح محرر الاكواد وقم بكتابة كود يطبع من الرقم واحد
الى الرقم 5 وقم بعدد الاسطر التي قمت بكتابتها , لاحظ
الكود التالي :

لقد قمنا
بكتابة 13 سطرا لكي نطبع من العدد 1 الى العدد 5 ,
تخيل لو اردنا الطباعه الى العدد 100 كم سطرا سيتطلب
ذلك منا ؟ الا تظن ان ذلك سوف يتعبك بدنيا وعقليا !!
وهنا تأتي فائدة عبارة التكرار
WHILE لكي تساعدنا على تسهيل كتابة الكود , قم
بمسح الكود السابق وانساه للابد وقم بكتابة الكود
التالي ولاحظ الفرق :

كم سطرا
قمنا بكتابته الان ؟ من غير التعليقات فقط 7 اسطر ,
ومع التعليقات 8 اسطر , فرق 5 اسطر عن الكود السابق ,
الا يعتبر ذلك انجازا , واذا لم تقتنع حاول ان تقوم
بكتابة الاعداد من 1 الى 100 من غير استخدام التكرار ,
ولكن مع التكرار الذي يمكنك فعله ان تقوم بتغير الشرط
من اقل من او يساوي 5 الى اقل من يساوي 100 وسوف يأتيك
ناتجك بنفس عدد الاسطر ال7 فقط. اذا لم تقم بفهم كود
التكرار سوف اقوم بشرحه لك لكي تضح الصوره. اقرا
بتركيز من هنا , اولا : قمنا بتعيين متغير توجد به
القيمة 1 واسمه x وبعد ذلك
نقوم بكتابة دالة التكرار وشرطها ان يكون المتغير
x اقل من او يساوي 5 , ثم
نقوم بطباغة المتغير الموجود لدينا , ونطبع سطر جديد
للترتيب , واخيرا نقوم بزيادة المتغير بواحد ونرجع الى
الاعلى لنرى هل الشرط صحيح ام لا , اذا كان صحيحا يقوم
بفعل الطباعه مره اخرى واذا لم يكن صحيحا يقوم بالخروج
من البرنامج. لنقم بالتفكير
كمترجم
PHP ونقوم بعمل
الكود سطرا سطرا , لاحظ التالي , المتغير
x يساوي القيمه 1 , يوجد
لدي عباره تكرار وداخلها شرط وهو ان يكون المتغير
x اقل من ويساوي 5 , قيمة
المتغير x هي واحد والشرط
ان يكون اقل من خمسه هل تحقق الشرط ؟ نعم هو صحيح ,
اذن ادخل العباره وقم بطباعة المتغير
x , اقفز سطرا , قم بزيادة
المتغير x بواحد , اصبح
الان المتغير x قيمته 2 ,
ارجع الى الشرط مره اخرى , هل المتغير
x اقل من 5 ؟ المتغير هو 2
والشرط هو اقل من ويساوي 5 اذن قم بطباعة المتغير
واقفز سطرا وزد المتغير واحد , اصبح الان المتغير
x يساوي العدد 3 ,
......................................... زد المتغير
واحد , اصبح الان المتغير يساوي 6 , ارجع الى الشرط ,
هل المتغير اقل من او يساوي 5 ؟ لا لم يتحقق الشرط اذن
قم بالخروج من الكود . ويمكنك خارج حلقة التكرار ان
تقوم بطباعة العباره انتهينا لكي تعرف ان التنفيذ تم .
مثال
تطبيقي :
سؤال سريع
, ماهو ناتج جمع الاعداد من 1 الى 100 ؟ الجواب هو
الكود التالي :

حاول ان
تقوم بقراءة الكود وحاول ان تفهمه جيدا وسوف توضح لك
الصوره
ماذا لو
اردنا ان نجمع الاعداد الزوجيه لوحدها والاعداد
الفرديه لوحدها ؟؟ فكر كيف سنقوم بذلك , بسيط جدا :)
قم بإستخدام العباره الشرطيه IF
داخل عبارة التكرار WHILE
لاحظ التعديل على الكود وسوف تعرف الطريقه :

هل يوجد
شيئ صعب في هذاالكود ؟ لا اعتقد ذلك , لان كل ما نقوم
بفعله منطقي جدا
ملاحظه:
يمكن استخدام
عبارة
WHILE
وداخلها WHILE
وداخلها
WHILE وداخلها
IF وكل شي تريد
واترك لك الباب مفتوح لكي تقوم
بإستكشاف ما اعنيه من هذه الملاحظه :)