الخوارزمياتالحلقات المتداخلة - التمرين السادس
المطلوب
أكتب نفس البرنامج السابق بطريقة ثانية, الشكل المطلوب رسمه هو التالي.
النتيجة المطلوبة
طريقة التحليل
الخوارزمية
كود الجافا
public class Stars { public static void main (String[] args) { for (int i=5; i>=1; i--) { for (int j=1; j<=i; j++) { System.out.print("* "); } System.out.print("\n"); } } }
شرح الكود
for (int i=5; i>=1; i--)
- الحلقة
i
تعني أنه عندنا 5 أسطر. - كما تلاحظ أن هذه المرة الأولى التي نجعل فيها قيمة العداد
i
تقل في كل دورة بدل أن تزيد.
for (int j=1; j<=i; j++) { System.out.print("* "); }
- هنا الحلقة
j
مرتبطة فقط بالعدادi
, و كما تلاحظ فإن معادلة الحلقةj
غير معقدة كما كتبناها في التمرين السابق. - هنا قلنا أنه في كل سطر سيكون عدد أعمدة الحلقة
j
يساوي قيمة العدادi
. - بما أن العداد
i
يبدأ من 5 وصولاً إلى 1 كانت النتيجة كالتالي: - في دورة الحلقة
i
الأولى, كانت قيمة العدادi
تساوي 5 فكان عدد دورات الحلقةj
يساوي 5 لذلك تم طباعة* * * * *
- في دورة الحلقة
i
الثانية, كانت قيمة العدادi
تساوي 4 فكان عدد دورات الحلقةj
يساوي 4 لذلك تم طباعة* * * *
- في دورة الحلقة
i
الثالثة, كانت قيمة العدادi
تساوي 3 فكان عدد دورات الحلقةj
يساوي 3 لذلك تم طباعة* * *
- في دورة الحلقة
i
الرابعة, كانت قيمة العدادi
تساوي 2 فكان عدد دورات الحلقةj
يساوي 2 لذلك تم طباعة* *
- في دورة الحلقة
i
الخامسة, كانت قيمة العدادi
تساوي 1 فكان عدد دورات الحلقةj
يساوي 1 لذلك تم طباعة*