walid_8281500
03-19-2009, 07:40 PM
السلام عليكم ورحمة الله وبركاتة
كيف الحال حبايبي ان شاء الله تكونوا بألف
سنكمل معكم اليوم مشاورنا في تعلم الـphp وسيكون عنوان درسنا لهذا اليوم هو
عبارات التكرار والعبارة الشرطية SWITCH
يتضح من العنوان ان هناك عدة عبارات للتكرار وسأقوم بشرحها واحدة تلو الاخرى بخصائصها وطريقة كتابتها
اولا: عبارة التكرار WHILE
كما يدل اسم هذه العبارة التكرار فأنه من الواضح اننا نقوم من خلالها بتكرار شيء معين مرارا وتكرارا
فالنتخيل بأن لدينا كود معين ونريد ان نكررة العديد من المرات ونكتبه العديد من المرات لنصل الى شيء معين
فلماذا لا نوفر على نفسنا هذا العناء ونجعل الكود يقوم بتكرار نفسه لوحده الى ان يصل الى هذا الشيء
ويتم تعيينة من قبلك ولكن هذا لا يعني ان هذا الكود يسهل كتابته وتتم كتابتة في لحظات فعليك التفكير
اولا لماذا ستستخدم هذه العبارة وتقوم بالتفكير جيدا وكيف ستستخدمها وما الذي سينتج لديك
فالنفترض بأنك تجهز لرحلة الى مكان معين وهناك العديد من الاشخاص الذين سيشتركون بهذه الرحلة
اليس من المفترض حساب عددهم الكلي قبل الخروج لهذه الرحلة وستقوم بحساب عددهم على النحو التالي:
المشترك الاول + المشترك الثاني + الثالث الى ان تصل الى العدد الكلي ...
لنقم الان بالتعرف على طريقة كتابة عبارة التكرار هذه ...
http://www.3baer.com/php-les/les6/1.jpg
لنقل مثلا انك تريد كتابة اسمك بعدد 5 مرات لنرى كيف ستقوم بكتابته بالطريقه العادية
افتح محرر الاكواد واكتب اسمك خمس مرات حسب ما تراه بالصورة وقم بحساب عدد الاسطر التي استخدمتها
http://www.3baer.com/php-les/les6/2.jpg
هل لاحظت عدد الاسطر التي استخدمتها..
فتخيل لو اردت طباعة اسمك مثلا 50 مره كم عدد الاسطر التي ستحتاجها؟؟
وهنا تأتي فائدة العبارة WHILE فهي تسهل عليك كتابة اسمك 50 مره في عدد بسيط من الاسطر
لننظر كيفية عملها ^^
http://www.3baer.com/php-les/les6/3.jpg
كم سطرا كتبنا ؟؟ القليل بكثير صحيح
لنحلل ما الذي قمنا بفعله بالكود السابق
قمنا بتعيين متغير توجد به القيمة 1 واسمه num وبعد ذلك نقوم بكتابة دالة التكرار وشرطها ان يكون المتغير num اقل من او يساوي 5 , ثم نقوم بطباغة المتغير الموجود لدينا , ونطبع سطر جديد, واخيرا نقوم بزيادة المتغير بواحد ونرجع الى الاعلى لنرى هل الشرط صحيح ام لا , اذا كان صحيحا يقوم بالطباعه مره اخرى واذا لم يكن صحيحا يقوم بالخروج من البرنامج.
هل فهمت الية العمل ^^
لنقم بتحريرة بطريقة اخرى حتى تتفهم اكثر
قمنا بتعين متغير وعينا له القيمة 1 ومن ثم ادخلناه في جملة التكرار التي تساوي او تقل عن العدد 5
وبعدها قمنا بطباعته وقمنا بأضافة سطر جديد ومن ثم قمنا بأضافة واحد للمتغير ليصبح 2 ثم رجعنا الى
الشرط وسألنا هل يساوي او يقل عن العدد خمسه فكان الجواب صحيح اذا سيكمل الكود ويقوم بطباعة المتغير
الذي هو 2 ثم ينزل سطر جديد ثم يقوم بزيادة الرقم 2 واحد اخر ليصبح 3 ويرجع الى الشرط ليتحقق
وعلى هذه الحلقه الى ان يصل المتغير الى القيمة 6 فعندها يسال هل يساوي او اقل من 5 فيكون الجواب لا خاطئ
عندها سيقوم بالخروج من البرنامج ^^
سهلة صح ^^
اليك هذا السؤال البسيط واجب عليه لوحدك ..
ما هو ناتج الاعداد من 1 الى 100؟
فماذا لو اردنا ان نقوم بفصل الاعداد الزوجية عن الاعداد الفردية ^^
بسيط الحل هو بأضافة الجملة الشرطية if فكر فيها حلها بسيط جدا ..
ملاحظة: يمكنك اضافة عبارات التكرار بداخل بعضها بالعدد الذي تريد مثل العبارات الشرطية..
لننتقل الان الى النوع الاخر وهو الاكثر استخداما وهي جملة التكرار For
2-عبارة التكرار For
هي عبارة تكرار اخرى وتستخدم غالبا اكثر من العبارة while والسبب ان ديناميكيتها اكبر
ولكن الناتج واحد ولا اختلاف في الناتج عن الwhile
وهذه هي طريقة كتابتها وهي تختلف عن طريقة كتابة while
تمعن بالكود جيدا لأننا سنحتاجها في الدروس القادمة
http://www.3baer.com/php-les/les6/4.jpg
وهذا شرح ما جاء به ومع بعض الامثلة ستفهمون اكثر
variable assignment : وتعني وضع قيمة للمتغير مثلا
$x=1;
test expression : وتعني جملة التحقق مثلا
$x<=10
variable increament: وهذة تعني زيادة في المتغير مثلا
$x++
ملاحظة : يجب وضع الفاصلة المنقوطة بين الاكواد الثلاث السابقة.
اي ان الكود سيصبح بهذا الشكل على سبيل المثال
<?php
for ($x=1 ; $x>=10 ; $x++ ){
do this code;
}
?>
لنقم الان بعمل المثال الذي قمنا بالعد به من الرقم واحد الى الرقم 100 ولكن بهذه العباره ^^
http://www.3baer.com/php-les/les6/5.jpg
لننتقل الان الى الجزء الاخير من عبارات التكرار وهي
3- عبارة do..while
وهي لا تختلف كثيرا عن سابقاتها والفرق الوحيد الذي يجعلها تختلف هو انها تقوم
بتنفيذ الكود المطلوب ومن ثم تقوم بتكراراه اي انك في ذلك تضمن اذا كان الشرط غير صحيح
بأن تقوم بتنفيذ الكود لمره واحده ^^
وسنقوم بالتطرق اليها حين حاجتنا لها ان شاء الله في دروس قادمة وسترى كيفية عملها ^^
ولا تنسى انه يمكنك عمل عبارة بداخل عبارة اخرى وهذا سيكون تطبيقنا بعد الانتهاء من درسنا ^^
الان لننتقل الى القسم الاخير من درسنا وهو
3-الدالة الشرطية SWITCH
وهي تعمل بنفس عمل الدالة IF ولكن الفرق الوحيد بينهما
انها تقوم بعمل شرط واحد فقط ولكن IF تقوم بعمل عدة شروط
حسنا لنتعلم الان كيفية كتابة كودها الخاص ولنتعلمة جيدا ^^
http://www.3baer.com/php-les/les6/6.jpg
بداية كود الدالة يكون بالعبارة switch كما بالصورة
ومن ثم نضع الشرط مثلا
$x<=10
وكلمة case هي لتحديد الخيار المراد التحقق منه فمثلا case 10 يعني انه الشرط قد تحقق
ولاحظ بانه يجب وضع كلمة break; في نهاية كل case وذلك لأنهاء العملية اذا تحقق الشرط
وايضا لاحظ وجود كلمة default وهي تعني انه اذا لم يتحقق اي شرط من السابق قم بتنفيذ شيء معين
مثلا اكتب المدخل غير صحيح ولا تقم بوضع كلمة break في نهايتها
لنرا الان مثالا بسيطا على ذلك ^^
http://www.3baer.com/php-les/les6/7.jpg
قم الان تغيير قيمة المتغير x الى الارقم 1 او 3 او 8 وانظر الى التغير في الجملة بعد كل مره تفتح بها
الملف بالمتصفح ...
ممممممممممم سؤال وسأجيب عليه في شرح بسيط ليسهل عليك حل التطبيق لهذا الدرس..
هل تريد ان تقوم بتصميم جدول على طريقت لغة ال php ؟
هل تريد ان تقوم بفعل ذلك بأقل الاسطر ؟؟
تدريب:
اذا لنرى هذا المثال البسيط ...
اولا ادخل الى الفرونت بيج وقم بتصميم جدول يتكون من عمودين وخمسة صفوف
http://www.3baer.com/php-les/les6/8.jpg
ادخل على الكود البرمجي وسترى ما هو الكود الذي قام ببناء هذا الجدول مثل الصورة السابقه
حسنا ركز الان بهذا الكود اين ترى التكرار او ما الذي تكرر في الكود لأكثر من مره ؟
<tr> و <td> صحيح ؟؟
لنحول هذه الكودات الان لتكرار بلغة الphp (حولها لوحدك)
ثم لنقوم بعد عدد الاعمدة قما قلنا هم 2 وعدد الصفوف 5 صحيح اذا ما هو الشرط الذي سنبني به
عبارة التكرار ؟؟
حسنا لنصنع من هذا الجدول (جدول الضرب) مثل الذي بالمدارس , ما هي العملية التي سنحتاجها؟؟
اجب عن جميع هذه الاسئلة لتجد الجواب قم بكتابة الاسئله على ورقة ومن ثم قم بتحويلها على الورقة
الى اكواد واصنع منها العبارات التي ستحتاجها , ومن ثم حول هذا الجدول ليقوم بأيجاد
المضروب من 1 الى 10 اي 1*1 و 1*2 و 1*3 الى ان تصل الى 10*10 , ثم لنجعل الجدول
يكتب كلمة (مضروب بـ ) في الخانة الاولى من الجدول اي انه بدل ان يضرب 1×1 يكتب كلمة (مضروب بـ).
ليظهر الجدول بهذا الشكل...
http://www.3baer.com/php-les/les6/9.jpg
تلميح ليساعدك في بناء الكود ..
ستحتاج الى عبارة FOR وبداخلها عبارة FOR اخرى وبداخل العبارة الثانية يوجد الدالة IF ومعها ELSE
ليس بالسهل وليس بالصعب جربو الى ان تصلو الى الحل ...
وبهذا نكون قد انهينا هذا الدرس المفيد والممتع اتمنى ان اكون قد اوصلت المعلومة بالشكل الصحيح
والله يوفقكم جميعا
السلام عليكم ^^
كيف الحال حبايبي ان شاء الله تكونوا بألف
سنكمل معكم اليوم مشاورنا في تعلم الـphp وسيكون عنوان درسنا لهذا اليوم هو
عبارات التكرار والعبارة الشرطية SWITCH
يتضح من العنوان ان هناك عدة عبارات للتكرار وسأقوم بشرحها واحدة تلو الاخرى بخصائصها وطريقة كتابتها
اولا: عبارة التكرار WHILE
كما يدل اسم هذه العبارة التكرار فأنه من الواضح اننا نقوم من خلالها بتكرار شيء معين مرارا وتكرارا
فالنتخيل بأن لدينا كود معين ونريد ان نكررة العديد من المرات ونكتبه العديد من المرات لنصل الى شيء معين
فلماذا لا نوفر على نفسنا هذا العناء ونجعل الكود يقوم بتكرار نفسه لوحده الى ان يصل الى هذا الشيء
ويتم تعيينة من قبلك ولكن هذا لا يعني ان هذا الكود يسهل كتابته وتتم كتابتة في لحظات فعليك التفكير
اولا لماذا ستستخدم هذه العبارة وتقوم بالتفكير جيدا وكيف ستستخدمها وما الذي سينتج لديك
فالنفترض بأنك تجهز لرحلة الى مكان معين وهناك العديد من الاشخاص الذين سيشتركون بهذه الرحلة
اليس من المفترض حساب عددهم الكلي قبل الخروج لهذه الرحلة وستقوم بحساب عددهم على النحو التالي:
المشترك الاول + المشترك الثاني + الثالث الى ان تصل الى العدد الكلي ...
لنقم الان بالتعرف على طريقة كتابة عبارة التكرار هذه ...
http://www.3baer.com/php-les/les6/1.jpg
لنقل مثلا انك تريد كتابة اسمك بعدد 5 مرات لنرى كيف ستقوم بكتابته بالطريقه العادية
افتح محرر الاكواد واكتب اسمك خمس مرات حسب ما تراه بالصورة وقم بحساب عدد الاسطر التي استخدمتها
http://www.3baer.com/php-les/les6/2.jpg
هل لاحظت عدد الاسطر التي استخدمتها..
فتخيل لو اردت طباعة اسمك مثلا 50 مره كم عدد الاسطر التي ستحتاجها؟؟
وهنا تأتي فائدة العبارة WHILE فهي تسهل عليك كتابة اسمك 50 مره في عدد بسيط من الاسطر
لننظر كيفية عملها ^^
http://www.3baer.com/php-les/les6/3.jpg
كم سطرا كتبنا ؟؟ القليل بكثير صحيح
لنحلل ما الذي قمنا بفعله بالكود السابق
قمنا بتعيين متغير توجد به القيمة 1 واسمه num وبعد ذلك نقوم بكتابة دالة التكرار وشرطها ان يكون المتغير num اقل من او يساوي 5 , ثم نقوم بطباغة المتغير الموجود لدينا , ونطبع سطر جديد, واخيرا نقوم بزيادة المتغير بواحد ونرجع الى الاعلى لنرى هل الشرط صحيح ام لا , اذا كان صحيحا يقوم بالطباعه مره اخرى واذا لم يكن صحيحا يقوم بالخروج من البرنامج.
هل فهمت الية العمل ^^
لنقم بتحريرة بطريقة اخرى حتى تتفهم اكثر
قمنا بتعين متغير وعينا له القيمة 1 ومن ثم ادخلناه في جملة التكرار التي تساوي او تقل عن العدد 5
وبعدها قمنا بطباعته وقمنا بأضافة سطر جديد ومن ثم قمنا بأضافة واحد للمتغير ليصبح 2 ثم رجعنا الى
الشرط وسألنا هل يساوي او يقل عن العدد خمسه فكان الجواب صحيح اذا سيكمل الكود ويقوم بطباعة المتغير
الذي هو 2 ثم ينزل سطر جديد ثم يقوم بزيادة الرقم 2 واحد اخر ليصبح 3 ويرجع الى الشرط ليتحقق
وعلى هذه الحلقه الى ان يصل المتغير الى القيمة 6 فعندها يسال هل يساوي او اقل من 5 فيكون الجواب لا خاطئ
عندها سيقوم بالخروج من البرنامج ^^
سهلة صح ^^
اليك هذا السؤال البسيط واجب عليه لوحدك ..
ما هو ناتج الاعداد من 1 الى 100؟
فماذا لو اردنا ان نقوم بفصل الاعداد الزوجية عن الاعداد الفردية ^^
بسيط الحل هو بأضافة الجملة الشرطية if فكر فيها حلها بسيط جدا ..
ملاحظة: يمكنك اضافة عبارات التكرار بداخل بعضها بالعدد الذي تريد مثل العبارات الشرطية..
لننتقل الان الى النوع الاخر وهو الاكثر استخداما وهي جملة التكرار For
2-عبارة التكرار For
هي عبارة تكرار اخرى وتستخدم غالبا اكثر من العبارة while والسبب ان ديناميكيتها اكبر
ولكن الناتج واحد ولا اختلاف في الناتج عن الwhile
وهذه هي طريقة كتابتها وهي تختلف عن طريقة كتابة while
تمعن بالكود جيدا لأننا سنحتاجها في الدروس القادمة
http://www.3baer.com/php-les/les6/4.jpg
وهذا شرح ما جاء به ومع بعض الامثلة ستفهمون اكثر
variable assignment : وتعني وضع قيمة للمتغير مثلا
$x=1;
test expression : وتعني جملة التحقق مثلا
$x<=10
variable increament: وهذة تعني زيادة في المتغير مثلا
$x++
ملاحظة : يجب وضع الفاصلة المنقوطة بين الاكواد الثلاث السابقة.
اي ان الكود سيصبح بهذا الشكل على سبيل المثال
<?php
for ($x=1 ; $x>=10 ; $x++ ){
do this code;
}
?>
لنقم الان بعمل المثال الذي قمنا بالعد به من الرقم واحد الى الرقم 100 ولكن بهذه العباره ^^
http://www.3baer.com/php-les/les6/5.jpg
لننتقل الان الى الجزء الاخير من عبارات التكرار وهي
3- عبارة do..while
وهي لا تختلف كثيرا عن سابقاتها والفرق الوحيد الذي يجعلها تختلف هو انها تقوم
بتنفيذ الكود المطلوب ومن ثم تقوم بتكراراه اي انك في ذلك تضمن اذا كان الشرط غير صحيح
بأن تقوم بتنفيذ الكود لمره واحده ^^
وسنقوم بالتطرق اليها حين حاجتنا لها ان شاء الله في دروس قادمة وسترى كيفية عملها ^^
ولا تنسى انه يمكنك عمل عبارة بداخل عبارة اخرى وهذا سيكون تطبيقنا بعد الانتهاء من درسنا ^^
الان لننتقل الى القسم الاخير من درسنا وهو
3-الدالة الشرطية SWITCH
وهي تعمل بنفس عمل الدالة IF ولكن الفرق الوحيد بينهما
انها تقوم بعمل شرط واحد فقط ولكن IF تقوم بعمل عدة شروط
حسنا لنتعلم الان كيفية كتابة كودها الخاص ولنتعلمة جيدا ^^
http://www.3baer.com/php-les/les6/6.jpg
بداية كود الدالة يكون بالعبارة switch كما بالصورة
ومن ثم نضع الشرط مثلا
$x<=10
وكلمة case هي لتحديد الخيار المراد التحقق منه فمثلا case 10 يعني انه الشرط قد تحقق
ولاحظ بانه يجب وضع كلمة break; في نهاية كل case وذلك لأنهاء العملية اذا تحقق الشرط
وايضا لاحظ وجود كلمة default وهي تعني انه اذا لم يتحقق اي شرط من السابق قم بتنفيذ شيء معين
مثلا اكتب المدخل غير صحيح ولا تقم بوضع كلمة break في نهايتها
لنرا الان مثالا بسيطا على ذلك ^^
http://www.3baer.com/php-les/les6/7.jpg
قم الان تغيير قيمة المتغير x الى الارقم 1 او 3 او 8 وانظر الى التغير في الجملة بعد كل مره تفتح بها
الملف بالمتصفح ...
ممممممممممم سؤال وسأجيب عليه في شرح بسيط ليسهل عليك حل التطبيق لهذا الدرس..
هل تريد ان تقوم بتصميم جدول على طريقت لغة ال php ؟
هل تريد ان تقوم بفعل ذلك بأقل الاسطر ؟؟
تدريب:
اذا لنرى هذا المثال البسيط ...
اولا ادخل الى الفرونت بيج وقم بتصميم جدول يتكون من عمودين وخمسة صفوف
http://www.3baer.com/php-les/les6/8.jpg
ادخل على الكود البرمجي وسترى ما هو الكود الذي قام ببناء هذا الجدول مثل الصورة السابقه
حسنا ركز الان بهذا الكود اين ترى التكرار او ما الذي تكرر في الكود لأكثر من مره ؟
<tr> و <td> صحيح ؟؟
لنحول هذه الكودات الان لتكرار بلغة الphp (حولها لوحدك)
ثم لنقوم بعد عدد الاعمدة قما قلنا هم 2 وعدد الصفوف 5 صحيح اذا ما هو الشرط الذي سنبني به
عبارة التكرار ؟؟
حسنا لنصنع من هذا الجدول (جدول الضرب) مثل الذي بالمدارس , ما هي العملية التي سنحتاجها؟؟
اجب عن جميع هذه الاسئلة لتجد الجواب قم بكتابة الاسئله على ورقة ومن ثم قم بتحويلها على الورقة
الى اكواد واصنع منها العبارات التي ستحتاجها , ومن ثم حول هذا الجدول ليقوم بأيجاد
المضروب من 1 الى 10 اي 1*1 و 1*2 و 1*3 الى ان تصل الى 10*10 , ثم لنجعل الجدول
يكتب كلمة (مضروب بـ ) في الخانة الاولى من الجدول اي انه بدل ان يضرب 1×1 يكتب كلمة (مضروب بـ).
ليظهر الجدول بهذا الشكل...
http://www.3baer.com/php-les/les6/9.jpg
تلميح ليساعدك في بناء الكود ..
ستحتاج الى عبارة FOR وبداخلها عبارة FOR اخرى وبداخل العبارة الثانية يوجد الدالة IF ومعها ELSE
ليس بالسهل وليس بالصعب جربو الى ان تصلو الى الحل ...
وبهذا نكون قد انهينا هذا الدرس المفيد والممتع اتمنى ان اكون قد اوصلت المعلومة بالشكل الصحيح
والله يوفقكم جميعا
السلام عليكم ^^