منتدى استراحات زايد

منتدى استراحات زايد (http://vb.ma7room.com/index.php)
-   منتدى أخبار المواقع والمنتديات العربية والأجنبية (http://vb.ma7room.com/forumdisplay.php?f=183)
-   -   [ درس ] الدرس الخامس: عبارات التكرار (http://vb.ma7room.com/showthread.php?t=1402833)

محروم.كوم 03-04-2014 03:20 PM

[ درس ] الدرس الخامس: عبارات التكرار
 
متطلبات قبل البدء :
  • لا يوجد
اهداف الدرس :
  • عبارة التكرار WHILE
  • مثال تطبيقي
عبارة التكرار WHILE : بعد ان عرفنا العبارات الشريطة وكيفية تحديد مسار برنامجنا , نأتي الان الى عبارات التكرار , وكما يدل اسمها , فإننا نكرر شيء معين ونقوم بتكراره وتكراره, واستخدام هذه العباره له فوائد عديده وكبيره , تخيل ان لديك كود معين وتلاحظ انك تقوم بكتابة هذا الكود اكثر من مره , لكي تصل الى هدف معين , فلماذا لا تختصر الوقت وتجعل الكود يقوم بتكرار نفسه الى حد معين تقوم انت بتحديده , الا يتعبر ذلك اسهل واوفر من ناحية الوقت والتنفيذ ؟ وايضا الجهد الذي ستقوم بتوفيره لاكواد اخرى. ان ذلك لا يعني ان عبارة التكرار سهله او يمكن عملها في لحظات , عبارة التكرار يجب ان تفهم جيدا قبل كتابتها و التفكير في كيفية عملها والناتج الذي نريد الخروج به من عملها. هل تريد مثلالا على ذلك لتوضيح الصوره ؟ تخيل في بقالتنا الالكترونيه المشتري يقوم بشراء اكثر من منتج , ولكي حسابها يجب ان نجمع جميع المنتجات مع بعضها البعض وحساب المبلغ الكلي اليس ذلك صحيحا ؟ سوف نقوم بحسابها بالطريقة التاليه ( المنتج الاول + المنتج الثاني + المنتج الثالث + المنتج الرابع ) سوف نقوم بجمع كل منتج واضافته الى المجموع الكلي لنحصل على الناتج الكلي , اليس ذلك صحيحا ؟ سوف نتعلم كيف استخدام عبارة التكرار هذه ونأخذ عليها امثله كافيه لكي تتضح لك الصوره . طريقة كتابة عبارة WHILE الشرطيه كالتالي
http://www.traidnt.net/vb/images/img...014/03/166.gif
لنأخذ بعض الامثله على طريقة كتابة عبارة التكرار WHILE , تخيل انك تريد طباعة
الارقام من 1 الى 5 , كم سطر سيتطلب من كتابته ؟ افتح محرر الاكواد وقم بكتابة كود يطبع من الرقم واحد الى الرقم 5 وقم بعدد الاسطر التي قمت بكتابتها , لاحظ الكود التالي :
http://www.traidnt.net/vb/images/img...014/03/167.gif
لقد قمنا بكتابة 13 سطرا لكي نطبع من العدد 1 الى العدد 5 , تخيل لو اردنا الطباعه الى العدد 100 كم سطرا سيتطلب ذلك منا ؟ الا تظن ان ذلك سوف يتعبك بدنيا وعقليا !! وهنا تأتي فائدة عبارة التكرار WHILE لكي تساعدنا على تسهيل كتابة الكود , قم بمسح الكود السابق وانساه للابد وقم بكتابة الكود التالي ولاحظ الفرق :
http://www.traidnt.net/vb/images/img...014/03/168.gif
كم سطرا قمنا بكتابته الان ؟ من غير التعليقات فقط 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 ؟ الجواب هو الكود التالي :
http://www.traidnt.net/vb/images/img...014/03/169.gif
حاول ان تقوم بقراءة الكود وحاول ان تفهمه جيدا وسوف توضح لك الصوره ماذا لو اردنا ان نجمع الاعداد الزوجيه لوحدها والاعداد الفرديه لوحدها ؟؟ فكر كيف سنقوم بذلك , بسيط جدا http://www.traidnt.net/vb/images/img...2014/03/89.gif قم بإستخدام العباره الشرطيه IF داخل عبارة التكرار WHILE لاحظ التعديل على الكود وسوف تعرف الطريقه :
http://www.traidnt.net/vb/images/img...014/03/170.gif
هل يوجد شيئ صعب في هذاالكود ؟ لا اعتقد ذلك , لان كل ما نقوم بفعله منطقي جدا
ملاحظه: يمكن استخدام عبارة WHILE وداخلها WHILE وداخلها WHILE وداخلها IF وكل شي تريد واترك لك الباب مفتوح لكي تقوم بإستكشاف ما اعنيه من هذه الملاحظه http://www.traidnt.net/vb/images/img...2014/03/89.gif
اسئـــلة على الدرس :
  1. قم بعمل برنامج لحساب درجات الطلاب , حيث ضع افتراضا عشر درجات لطلاب (
    $student4_grade
    ) (
    $student3_grade )
    ( $student2_grade
    ) (
    $student1_grade )
    ( $student10_grade
    ) …….. (
    $student5_grade )
    وقم بحساب معدل الطلاب عن طريق عبارة التكرار While ( مساعده : معدل الطلاب = مجموع الدرجات ÷ عددها )
  2. قم بالتعديل على برنامج السؤال الاول , حيث تقوم بحساب معدل الدرجات الزوجيه , ومعدل الدرجات الفردية

الـــدرس الــقادم :

سوف نقوم في الدرس القادم بمعرفة معلومات عامه عن الدوال الشرطية , وعبارات التكرار منها SWTICH و FOR وسوف نقوم بمعرفة بعض ملامح ونصائح في لغة PHP



المصدر


الساعة الآن 06:10 AM

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.5.2 TranZ By Almuhajir


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227