[TBL="http://store2.up-00.com/2016-02/145471514969371.png"]
[/TBL][TBL="http://store2.up-00.com/2016-02/145471514982052.png"]
[/TBL][TBL="http://store2.up-00.com/2016-02/145471514989193.png"]
[/TBL][TBL="http://store2.up-00.com/2016-02/145471514989193.png"]
Ɗoѵe
Dove of peace
Lema
سيف الاسلام
[/TBL][TBL="http://store2.up-00.com/2016-02/145471514996374.png"]
[/TBL]
[/TBL][TBL="http://store2.up-00.com/2016-02/145471514982052.png"]
[/TBL][TBL="http://store2.up-00.com/2016-02/145471514989193.png"]
[/TBL][TBL="http://store2.up-00.com/2016-02/145471514989193.png"]
بسم الله الرحمن الرحيم
السلام عليكم و رحمة الله و بركاته
أهلاً زوار و أعضاء تون الأعزاء .. تسعدني رؤية الزيارات
المتكررة للموضوع من الزوار خاصة
في هذا الدرس تنتهي رحلتنا مع الجافا لكنها ستبدأ عندكم للتوسع
أكثر و بتعلمكم للجافا سيسهل عليكم تعلم لغات أخرى لأن لغات البرمجة تتشابه
في المبدأ و تختلف بأشياء بسيطة ..
درس اليوم سيكون عن التكرار .. أي إذا أردت كوداً معين أن يتكرر
و كمثال أريد أن أطبع على الشاشة الأرقام من 1 إلى 10 ، و لو طبعنا
هذه الأرقام بالطريقة العادية التي استخدمناها سابقاً سنحتاج لعشرة أسطر
للطابعة ، و سيتكرر الكود الخاص بالطباعة 10 مرات و سيكون الاختلاف
_ في الـ 10 أسطر فقط _ في الرقم الذي نود أن نطبعه .
لذا هنا ظهرت أهمية التكرار و دعونا نسميها الـ loop حيث نحدد عدد مرات
تكرار الكود وذلك بناءً على شرطٍ نضعه .
و هناك ثلاثة أنواع للـ loop و سندرس سوياً نوعين فقط و هما
while loop و for loop
أما الثالث فأسمه do while loop و يمكنكم البحث عنه أو سؤالي
عن تفاصيله لاحقا إن أردتم ..
دعونا الآن نبدأ بمثال طباعة الأرقام من 1 لـ 10 و منه سنتعرف على طريقة
كتابة الـ loop
***
في الصورة الثانية نلاحظ أننا احتجنا لكتابة عشرة أسطر بينما في
الصورة الأولى احتجنا لأربعة أسطر فقط لنحصل على نفس النتيجة
و من الفرق في الكودين أظن فهمتم الفكرة العامة من اللوب .
الآن دعونا نبدأ بالنوع الأول و هو الـ while loop
قبل أن أبدأ في شرح الـ while loop سأشرح الشكل البياني
و ماذا تعني الأشكال لأن ربما تمر معكم في الجامعة و ربما الثانوية .
المعين : يرمز للشرط و يخرج منه خطين أحدهما إذا كان ناتج الشرط
صحيح و الآخر إذا كان خاطئاً.
البيضاوي : يرمز لنقطة البداية و النهاية .
المستطيل : لعملية حسابية أو لجملة لإسناد قيمة لمتغير .
متوازي الأضلاع : لجملة طباعة .
فالـ while loop تعني مادام الشرط صحيحاً كرر ما بداخل القوس
و إذا كان خاطئاً أخرج من اللوب و أكمل الرن للكود الذي يلي
أقواس الـ while ، و كمثال :
طريقة الكتابة :
أنا أريد أن أطبع الأرقام من 1 لـ 10 لذا أحتاج لشيء يحكم تكرار
جملة الطباعة في النقطة رقم (3) و لتحقيق ذلك نعطي قيمة ابتدائية
لمتغير و لتكن i=1 كما في النقطة رقم (1) ، ثم نكتب while
و بداخل أقواس دائرية نضع الشرط الذي يخدمنا ، و هنا الشرط كان
أن تكون قيمة المتغير أقل أو تساوي العشرة و نفتح قوس
المجموعة ( } ) كما في النقطة رقم (2) ، ثم نضع بداخل القوس
جملة الطباعة ، و نلاحظ هنا أننا طبعنا المتغير i كما في النقطة
رقم (3) ، و بالنسبة لعلامة التنصيص الفارغة سأشرح فائدتها لاحقاً .
و أخر خطوة لتتم عملية اللوب هي بـ ++i و التي تعني أجمع على
قيمة الـ i ، واحد .
ملاحظة : ++i تكتب بطريقة أخرى و هي i+=1 .
أعرف أن طريقة الكتابة للوب لم توضح لكم طريقة عمل الـwhile و ما فائدة الـ i
لذا دعونا نمر كل دورة يدورها المترجم أو الـ compiler مع اللوب .
بسم الله
عندما يصل المترجم الى سطر النقطة (1) يحفظ المتغير i و يسند له
القيمة واحد ثم يأتي للسطر في النقطة رقم (2) فيجد الـ while
فيذهب للشرط الذي بين الأقواس ، فهنا عليه أن يرى إن كان الشرط
صحيحاً فيدخل لأقواس الـ while و إذا كان خاطئاً فيتعدى
كل الكود التابع للـ while و يكمل عمله .
و لنأتي للشرط فنجد أنه على i أن تكون أقل أو تساوي 10 و نحن
قبلها بسطر قلنا أن الـ i تساوي واحد لذا فإنَّ الشرط صحيح لذا
سندخل لأقواس الوايل لوب و نطبع ، ثم نصل لـ ++i و التي كما قلنا
أنها تعني أجمع واحد للـ i ، لذا تصبح قيمة الـ i الجديدة هي إثنين ،
بعدها يكمل المترجم فيصل لـ }
الخاص بـ while و هنا المترجم يفهم أنه عليه العودة ليتحقق
من الشرط من جديد بقيمة الـ i الجديدة ، و هنا نجد أن قيمة
الـ i هي 2 و بالفعل أقل أو تساوي ال 10 لذا سيدخل لأقواس الوايل
و يطبع قيمة الـ i ، ثم سيجمع على i واحد فتصبح i=3 ثم يعيد
الكرَّة و يتحقق من الشرط بالقيمة الجديدة ، و هكذا حتى يصل
لقيمة الـ i بـ 11 و عندها سيتحقق من الشرط فيجد أنه ليس
أقل أو يساوي ال 10 ، فيخرج من الـ while و يكمل من بعدها
لتظهر لنا هذه النتيجة :
و الآن دعونا ننتقل للنوع الثاني و هو الـ for loop و هو يعمل
بنفس المبدأ لكن فقط اختلاف في طريقة الكتابة .
حيث احتجنا لكتابة سطر واحد فقط و سطر اخر للطباعة ، لمعرفة التفاصيل :
في الإطار الأول عرفنا المتغير و أعطيناه القيمة 0 ، ثم ( ; )
بعدها وضعنا الشرط ، ثم ( ; ) ثم ++i .
فالمترجم عندما يصل لـfor يدخل للأقواس الدائرية فيحفظ قيمة
المتغير ثم يرى الشرط بعدها سيطبع ثم يعود للقوس و يجمع واحد
لقيمة المتغير ثم يعود للشرط و يكرر العملية حتى يصبح الشرط
خاطئاً ثم يخرج من اللوب .
في هذا المثال سيطبع الأعداد من 0 حتى 10 و بدون فراغات بدون الأرقام :
طبعاً الرقم بدا كرقم طويل و ليس كما أردنا ، و هو ان يظهر كل رقم
على حدا و بين كل رقم و رقم مسافة ، لذا هنا تظهر أهمية
اضافة ( “ “ + ) داخل أقواس جملة الطباعة مع الـ i لنحصل على النتيجة التالية :
إلى هنا نصل لختام الدرس .
الواجب
أطبعو الأرقام من 1 حتى 5 باستخدام الطريقيتين
و لديكم أسبوع كامل من تاريخ طرح الدرس .
و لمن تنقصه بعض الواجبات أرجو أن يبدأ بها قبل انتهاء المدة
لنحصر الطلاب و نقدم الجوائز التي وعدناكم بها
وفي ختام هذه الدورة أرجو أن أكون وُفقت في طرح المعلومة
و مشاركتها معكم و أرجو المعذرة لتأخري في طرح هذا الدرس بسبب الانشغال.
و السلام عليكم و رحمة الله و بركاته
قائمة الإنجاز
-ibrahim-
أهلاً زوار و أعضاء تون الأعزاء .. تسعدني رؤية الزيارات
المتكررة للموضوع من الزوار خاصة
في هذا الدرس تنتهي رحلتنا مع الجافا لكنها ستبدأ عندكم للتوسع
أكثر و بتعلمكم للجافا سيسهل عليكم تعلم لغات أخرى لأن لغات البرمجة تتشابه
في المبدأ و تختلف بأشياء بسيطة ..
درس اليوم سيكون عن التكرار .. أي إذا أردت كوداً معين أن يتكرر
و كمثال أريد أن أطبع على الشاشة الأرقام من 1 إلى 10 ، و لو طبعنا
هذه الأرقام بالطريقة العادية التي استخدمناها سابقاً سنحتاج لعشرة أسطر
للطابعة ، و سيتكرر الكود الخاص بالطباعة 10 مرات و سيكون الاختلاف
_ في الـ 10 أسطر فقط _ في الرقم الذي نود أن نطبعه .
لذا هنا ظهرت أهمية التكرار و دعونا نسميها الـ loop حيث نحدد عدد مرات
تكرار الكود وذلك بناءً على شرطٍ نضعه .
و هناك ثلاثة أنواع للـ loop و سندرس سوياً نوعين فقط و هما
while loop و for loop
أما الثالث فأسمه do while loop و يمكنكم البحث عنه أو سؤالي
عن تفاصيله لاحقا إن أردتم ..
دعونا الآن نبدأ بمثال طباعة الأرقام من 1 لـ 10 و منه سنتعرف على طريقة
كتابة الـ loop
***
في الصورة الثانية نلاحظ أننا احتجنا لكتابة عشرة أسطر بينما في
الصورة الأولى احتجنا لأربعة أسطر فقط لنحصل على نفس النتيجة
و من الفرق في الكودين أظن فهمتم الفكرة العامة من اللوب .
الآن دعونا نبدأ بالنوع الأول و هو الـ while loop
قبل أن أبدأ في شرح الـ while loop سأشرح الشكل البياني
و ماذا تعني الأشكال لأن ربما تمر معكم في الجامعة و ربما الثانوية .
المعين : يرمز للشرط و يخرج منه خطين أحدهما إذا كان ناتج الشرط
صحيح و الآخر إذا كان خاطئاً.
البيضاوي : يرمز لنقطة البداية و النهاية .
المستطيل : لعملية حسابية أو لجملة لإسناد قيمة لمتغير .
متوازي الأضلاع : لجملة طباعة .
فالـ while loop تعني مادام الشرط صحيحاً كرر ما بداخل القوس
و إذا كان خاطئاً أخرج من اللوب و أكمل الرن للكود الذي يلي
أقواس الـ while ، و كمثال :
طريقة الكتابة :
أنا أريد أن أطبع الأرقام من 1 لـ 10 لذا أحتاج لشيء يحكم تكرار
جملة الطباعة في النقطة رقم (3) و لتحقيق ذلك نعطي قيمة ابتدائية
لمتغير و لتكن i=1 كما في النقطة رقم (1) ، ثم نكتب while
و بداخل أقواس دائرية نضع الشرط الذي يخدمنا ، و هنا الشرط كان
أن تكون قيمة المتغير أقل أو تساوي العشرة و نفتح قوس
المجموعة ( } ) كما في النقطة رقم (2) ، ثم نضع بداخل القوس
جملة الطباعة ، و نلاحظ هنا أننا طبعنا المتغير i كما في النقطة
رقم (3) ، و بالنسبة لعلامة التنصيص الفارغة سأشرح فائدتها لاحقاً .
و أخر خطوة لتتم عملية اللوب هي بـ ++i و التي تعني أجمع على
قيمة الـ i ، واحد .
ملاحظة : ++i تكتب بطريقة أخرى و هي i+=1 .
أعرف أن طريقة الكتابة للوب لم توضح لكم طريقة عمل الـwhile و ما فائدة الـ i
لذا دعونا نمر كل دورة يدورها المترجم أو الـ compiler مع اللوب .
بسم الله
عندما يصل المترجم الى سطر النقطة (1) يحفظ المتغير i و يسند له
القيمة واحد ثم يأتي للسطر في النقطة رقم (2) فيجد الـ while
فيذهب للشرط الذي بين الأقواس ، فهنا عليه أن يرى إن كان الشرط
صحيحاً فيدخل لأقواس الـ while و إذا كان خاطئاً فيتعدى
كل الكود التابع للـ while و يكمل عمله .
و لنأتي للشرط فنجد أنه على i أن تكون أقل أو تساوي 10 و نحن
قبلها بسطر قلنا أن الـ i تساوي واحد لذا فإنَّ الشرط صحيح لذا
سندخل لأقواس الوايل لوب و نطبع ، ثم نصل لـ ++i و التي كما قلنا
أنها تعني أجمع واحد للـ i ، لذا تصبح قيمة الـ i الجديدة هي إثنين ،
بعدها يكمل المترجم فيصل لـ }
الخاص بـ while و هنا المترجم يفهم أنه عليه العودة ليتحقق
من الشرط من جديد بقيمة الـ i الجديدة ، و هنا نجد أن قيمة
الـ i هي 2 و بالفعل أقل أو تساوي ال 10 لذا سيدخل لأقواس الوايل
و يطبع قيمة الـ i ، ثم سيجمع على i واحد فتصبح i=3 ثم يعيد
الكرَّة و يتحقق من الشرط بالقيمة الجديدة ، و هكذا حتى يصل
لقيمة الـ i بـ 11 و عندها سيتحقق من الشرط فيجد أنه ليس
أقل أو يساوي ال 10 ، فيخرج من الـ while و يكمل من بعدها
لتظهر لنا هذه النتيجة :
و الآن دعونا ننتقل للنوع الثاني و هو الـ for loop و هو يعمل
بنفس المبدأ لكن فقط اختلاف في طريقة الكتابة .
حيث احتجنا لكتابة سطر واحد فقط و سطر اخر للطباعة ، لمعرفة التفاصيل :
في الإطار الأول عرفنا المتغير و أعطيناه القيمة 0 ، ثم ( ; )
بعدها وضعنا الشرط ، ثم ( ; ) ثم ++i .
فالمترجم عندما يصل لـfor يدخل للأقواس الدائرية فيحفظ قيمة
المتغير ثم يرى الشرط بعدها سيطبع ثم يعود للقوس و يجمع واحد
لقيمة المتغير ثم يعود للشرط و يكرر العملية حتى يصبح الشرط
خاطئاً ثم يخرج من اللوب .
في هذا المثال سيطبع الأعداد من 0 حتى 10 و بدون فراغات بدون الأرقام :
طبعاً الرقم بدا كرقم طويل و ليس كما أردنا ، و هو ان يظهر كل رقم
على حدا و بين كل رقم و رقم مسافة ، لذا هنا تظهر أهمية
اضافة ( “ “ + ) داخل أقواس جملة الطباعة مع الـ i لنحصل على النتيجة التالية :
إلى هنا نصل لختام الدرس .
الواجب
أطبعو الأرقام من 1 حتى 5 باستخدام الطريقيتين
و لديكم أسبوع كامل من تاريخ طرح الدرس .
و لمن تنقصه بعض الواجبات أرجو أن يبدأ بها قبل انتهاء المدة
لنحصر الطلاب و نقدم الجوائز التي وعدناكم بها
وفي ختام هذه الدورة أرجو أن أكون وُفقت في طرح المعلومة
و مشاركتها معكم و أرجو المعذرة لتأخري في طرح هذا الدرس بسبب الانشغال.
و السلام عليكم و رحمة الله و بركاته
قائمة الإنجاز
-ibrahim-
Ɗoѵe
Dove of peace
Lema
سيف الاسلام
[/TBL][TBL="http://store2.up-00.com/2016-02/145471514996374.png"]
[/TBL]
التعديل الأخير: