بسم
الله الرحمن الرحيم
- متطلبات قبل البدأ :
- لا
يوجد
</li>
اهداف الدرس :
عبارة التكرار WHILE
مثال تطبيقي
</li>
عبارة التكرار WHILE : بعد ان
عرفنا العبارات الشريطة وكيفية تحديد مسار برنامجنا , نأتي الان الى عبارات
التكرار , وكما يدل اسمها , فإننا نكرر شيء معين ونقوم بتكراره وتكراره,
واستخدام هذه العباره له فوائد عديده وكبيره , تخيل ان لديك كود معين
وتلاحظ انك تقوم بكتابة هذا الكود اكثر من مره , لكي تصل الى هدف معين ,
فلماذا لا تختصر الوقت وتجعل الكود يقوم بتكرار نفسه الى حد معين تقوم انت
بتحديده , الا يتعبر ذلك اسهل واوفر من ناحية الوقت والتنفيذ ؟ وايضا الجهد
الذي ستقوم بتوفيره لاكواد اخرى. ان ذلك لا يعني ان عبارة التكرار سهله او
يمكن عملها في لحظات , عبارة التكرار يجب ان تفهم جيدا قبل كتابتها و
التفكير في كيفية عملها والناتج الذي نريد الخروج به من عملها. هل تريد
مثلالا على ذلك لتوضيح الصوره ؟ تخيل في بقالتنا الالكترونيه المشتري يقوم
بشراء اكثر من منتج , ولكي حسابها يجب ان نجمع جميع المنتجات مع بعضها
البعض وحساب المبلغ الكلي اليس ذلك صحيحا ؟ سوف نقوم بحسابها بالطريقة
التاليه ( المنتج الاول + المنتج الثاني + المنتج الثالث + المنتج الرابع )
سوف نقوم بجمع كل منتج واضافته الى المجموع الكلي لنحصل على الناتج الكلي ,
اليس ذلك صحيحا ؟ سوف نتعلم كيف استخدام عبارة التكرار هذه ونأخذ عليها
امثله كافيه لكي تتضح لك الصوره . طريقة كتابة عبارة WHILE الشرطيه كالتالي
لنأخذ بعض الامثله على طريقة كتابة عبارة
التكرار WHILE , تخيل انك تريد طباعة الارقام من 1 الى 5 , كم سطر سيتطلب
من كتابته ؟ افتح محرر الاكواد وقم بكتابة كود يطبع من الرقم واحد الى
الرقم 5 وقم بعدد الاسطر التي قمت بكتابتها , لاحظ الكود التالي :
لقد قمنا بكتابة 13 سطرا لكي نطبع من العدد 1 الى العدد 5 ,
تخيل لو اردنا الطباعه الى العدد 100 كم سطرا سيتطلب ذلك منا ؟ الا تظن ان
ذلك سوف يتعبك بدنيا وعقليا !! وهنا تأتي فائدة عبارة التكرار WHILE لكي
تساعدنا على تسهيل كتابة الكود , قم بمسح الكود السابق وانساه للابد وقم
بكتابة الكود التالي ولاحظ الفرق :
PHP كود :
<?php
$x = 1; // بداية العدد
//فى السطر التالى نشترط ان يكون المتغير اقل من او يساوى خمسة
while ($x <= 5)
{
echo $x; // اطبع المتغير طلاما توفر فيه شرطنا
echo "<br>"; // سطر جديد
echo $x++; // قم بزيادة المتغير واحد
}
?> كم سطرا قمنا
بكتابته الان ؟ من غير التعليقات فقط 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 ؟ الجواب هو الكود التالي :
PHP كود :
<?php
$x = 1;
$total = 0;
while ($x <= 100)
{
$total = $total + $x;
$x++;
}
echo "الناتج هو";
echo "<br>";
echo $total;
?> حاول ان تقوم بقراءة الكود وحاول ان تفهمه جيدا وسوف توضح لك الصوره
ماذا لو اردنا ان نجمع الاعداد الزوجيه لوحدها والاعداد الفرديه لوحدها ؟؟
فكر كيف سنقوم بذلك , بسيط جدا
قم
بإستخدام العباره الشرطيه IF داخل عبارة التكرار WHILE لاحظ التعديل على
الكود وسوف تعرف الطريقه :
PHP كود :
<?php
$x = 1; // بداية العدد
$total1 = 0; // نقطة نحسب فيها الأعداد الزوجية
$total2 = 0; // نقطة نحسب فيها الأعداد الفردية
while ($x <= 100)
{
if ($x % 2 == 0)
{
$total1 = $total1 + $x;
$x++;
}
else
{
$total2 = $total2 + $x;
$x++;
}
}
echo "الناتج الزوجى";
echo "<br>";
echo $total1;
echo "<br>---------<br>";
echo "الناتج الفردى";
echo "<br>";
echo $total2;
?> هل يوجد شيئ صعب في هذاالكود ؟ لا اعتقد ذلك , لان كل ما نقوم بفعله منطقي
جدا
ملاحظه: يمكن استخدام
عبارة WHILE وداخلها WHILE وداخلها WHILE وداخلها IF وكل شي تريد واترك لك
الباب مفتوح لكي تقوم بإستكشاف ما اعنيه من هذه الملاحظه
- اسئلة على الدرس:
- قم بعمل برنامج لحساب درجات
الطلاب , حيث ضع افتراضا عشر درجات لطلاب ( $student4_grade ) (
$student3_grade ) ( $student2_grade ) ( $student1_grade ) (
$student10_grade ) ........ ( $student5_grade ) وقم بحساب معدل الطلاب عن
طريق عبارة التكرار While ( مساعده :
معدل الطلاب = مجموع الدرجات ÷ عددها )
- قم بالتعديل على
برنامج السؤال الاول , حيث تقوم بحساب معدل الدرجات الزوجيه , ومعدل
الدرجات الفردية
</li>
الـــدرس الــقادم :
سوف نقوم
في الدرس القادم بمعرفة معلومات عامه عن الدوال الشرطية , وعبارات التكرار
منها SWTICH و FOR وسوف نقوم بمعرفة بعض ملامح ونصائح في لغة PHP
للأمانة منقول من شبكة
ارسن نت