الخوارزمياتالحلقات المتداخلة - التمرين السادس
المطلوب
أكتب نفس البرنامج السابق بطريقة ثانية, الشكل المطلوب رسمه هو التالي.
النتيجة المطلوبة
طريقة التحليل
الخوارزمية
كود الجافا
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 لذلك تم طباعة*
 
                