بسم الله الرحمن الرحيم
تحدثنا في الدرس السابق عن ضرورة جمل الدوران و استخداماتها في برامجنا كما درسنا نوعين من هذه الجمل و هي جمل for و جملة while للدوران و اخذنا بعض الأمثلة عليهم و لرؤية الدروس السابقة اتبع الفهرس التالي :
- [دورة php - الدرس الأول] - تحضير البرامج و كتابة اول برنامج
- [دورة php - الدرس الثاني] - المتغيرات و طريقة تعريفها و انواعها و التعامل معها
- [دورة php - الدرس الثالث] - الجزء الأول : الطباعة المدمجة و تنسيق الصفحات لعرضها
- [دورة php - الدرس الرابـع] - الجزء الثاني : طباعة المتغيرات في النصوص و بعض الدوال
- [دورة php - الدرس الخامس] - الثوابت و متغيرات النظام و دوال لا يستغني عنها اي مبرمج
- [دورة php - الدرس السادس] - الجزء الأول : النماذج و كيفية تصميمها و فوائدها
- [دورة php - الدرس السابع] - الجزء الثاني : معالجة بيانات النماذج و برمجتها
- [دورة php - الدرس الثامن] - الجزء الثالث : تطبيق عملي للنماذج - اتصل بن
- [دورة php - الدرس التاسع] - الجزء الأول : الجمل الشرطية : if وانواعها
- [دورة php - الدرس العاشر] - الجزء الثاني : الجمل الشرطية : جملة switch
- [دورة php - الدرس الحادي عشر] - الجزء الأول : جمل التكرار و الدوران : for + while
اما في درسنا اليوم فسوف نكمل الحديث عن انواع جمل الدوران و سوف نتحدث عن جملة do - while و هي جمل دوران تشبه التي درسناها في الدرس السابق من حيث الوضيفة و لكنها تختلف من ناحية طريقة الكتابة و البرمجة و ايضا سنكتب عدة برامج و تطبيقات بسطة على الدوران و لنبدأ على بركة الله
3 - جملة الدوران do - while : و نستطيع التعبير عنها في لغتنا العربية كما يلي (نفذ الأمر .... طالما الشرط ....) و الصيغة العامة لها كالتالي :
و مثال عليها كالتالي :
كود PHP:
<?
$i = 1;
do
{
echo "loop : ". $i ."<br/>";
$i++;
}
while( $i <= 100 );
?>
و هنا في هذا المثال قمنا في البداية بتعريف متغير اسمه i و هو عداد الدوران و اعطيناه القيمة 1 اي انه سيبدأ العد من عند الرقم 1
ثم كتبنا كلمة do و معناها افعل و هكذا سيدخل التنفيذ داخل الأقواس {} و يطبع العبارة و قيمة العداد
ثم يزيد قيمة العداد بمقدار 1 ليصبح 2
قم يصل التنفيذ الى جملة while فنجد بداخلها الشرط الذي يسأل هل قيمة i اقل او تساوي 100
و الإجابة هي نعم لأن قيمة i هي 2 حاليا و هي اقل من 100
اذا سيعيد التنفيذ مرة اخرى من عند جملة do و هكذا الى ان تصبح قيمة i تساوي 101 و يصبح شرط while غير صالحا
هنا في هذا المثال قمنا بعمل دوران 100 مرة و تستطيع التحكم بالدوران كما تشاء
و لرؤية النتيجة من هنا :
http://www.al79n-php.info/less12/do-while.php
لكن لو سأل احدكم ما الفرق بين جملة while التي درسناها في الدرس السابق و جملة do-while التي ندرسها في هذا الدرس ماذا ستكون الإجابة برأيكم ؟؟
الإجابة بسيطة يا اصدقائي
جملة while في الدرس السابق يتم فحص الشرط فيها قبل الدخول للدوران فإذا كان الشرط غير صحيح فإنه لن يدخل على الدوران
اما جملة do-while في هذا الدرس فإنه يتم تنفيذ اول دورة داخل الدوران ثم يتم فحص الشرط في جملة while
اي ان جملة do-while يتم تنفيذها مرة واحدة على الأقل اذا كان الشرط غير متحقق
اما جملة while فإذا كان الشرط غير متحقق فإنه لن يدخل الى الدوران
امثلة و تطبيقات :
1 - المثال التالي يقوم بفحص الأرقام من 1 الى 500 و يقوم بطباعة الرقم و بجانبة كلمة is odd اذا كان فردي و ايضا طباعة الرقم و كلمة is even اذا كان زوجي :
كود PHP:
<?
$i = 1;
do
{
if($i%2 == 0)
{
echo $i." is even<br/>";
}
else
{
echo $i." is odd<br/>";
}
$i++;
}
while( $i <= 500 );
?>
ولمشاهدة النتيجة من هنا :
http://www.al79n-php.info/less12/odd-even.php
2 - المثال التالي يقوم برسم الشكل الذي في الصورة التالية بإستخدام جلمة while للدوران :
الكود :
كود PHP:
<?
$line = '*';
$i = 1;
while( $i <= 20 )
{
echo $line;
$line = $line.'*';
echo "<br/>";
$i++;
}
?>
ولمشاهدة النتيجة مباشرة من هنا :
http://www.al79n-php.info/less12/rect.php
و التطبيقات العملية كثيرة جدا لا تعد ولا تحصى لذلك اترك لكم المحاولة فيها و الإستفادة من هذه الخواص البرمجية
و بهذا نكون قد انهينا درس اليوم و الى اللقاء في الدرس القادم
مواقع النشر (المفضلة)