متطلبات قبل البدء :اهداف الدرس :
- عبارة التكرار 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 وكل شي تريد واترك لك الباب مفتوح لكي تقوم بإستكشاف ما اعنيه
من هذه الملاحظه
اسئـــلة على الدرس :
- قم بعمل برنامج لحساب درجات الطلاب , حيث ضع افتراضا عشر درجات لطلاب (
$student4_grade
) (
$student3_grade )
( $student2_grade
) (
$student1_grade )
( $student10_grade
) …….. (
$student5_grade )
وقم بحساب معدل الطلاب عن طريق عبارة التكرار While ( مساعده : معدل الطلاب = مجموع الدرجات ÷ عددها )
- قم بالتعديل على برنامج السؤال الاول , حيث تقوم بحساب معدل الدرجات الزوجيه , ومعدل الدرجات الفردية
الـــدرس الــقادم :سوف نقوم في الدرس القادم بمعرفة معلومات عامه عن الدوال الشرطية ,
وعبارات التكرار منها SWTICH و FOR وسوف نقوم بمعرفة بعض ملامح ونصائح في
لغة PHP