Algorithmsالحلقات المتداخلة في الخوارزميات - التمرين السادس

المطلوب

أكتب نفس البرنامج السابق بطريقة ثانية, الشكل المطلوب رسمه هو التالي


النتيجة المطلوبة

طريقة التحليل

الخوارزمية

كود الجافا

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. لذلك تم طباعة *        .

دورات

أدوات