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

المطلوب

إستخدم الحلقات لطباعة الشكل التالي.


ملاحظة

بما أن هذا الشكل يشبه تماماً الشكل السابق, يمكننا إعتماد نفس مبدأ التحليل و إستخدام نفس المعادلة السابقة التي وضعناها للحلقة j.
و في التمرين التالي أيضاً سنثبت لك أنه بإمكانك أن تكتب كود آخر و تحصل على نفس هذا الشكل أيضاً.


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

طريقة التحليل الأولى

بما أن عدد النجوم غير ثابت في كل سطر, لا يمكننا تحليل طريقة إستخدام الحلقات لرسم الشكل كالتالي.


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

الأسلوب التالي في التحليل يتيح لنا رسم أي شكل هندسي مهما كان معقداً.
هنا نقوم بحساب عدد النجوم في كل سطر لمعرفة كيف سنكتب الحلقتين i و j لرسم الشكل المطلوب منك.

الخوارزمية

كود الجافا

public class Stars {
 
    public static void main (String[] args) {
 
        for (int i=1; i<=5; i++)
        {
            for (int j=1; j<=5-i+1; j++)
            {
                System.out.print("* ");
            }
            System.out.print("\n");
        }
 
    }

}
		

شرح الكود

  • هذا التمرين هو نفسه التمرين السابق من حيث الشكل, الفرق الوحيد أننا هنا قمنا بعرض نجوم و ليس قيم العداد j.


		for (int i=1; i<=5; i++)
			
  • الحلقة i تعني أنه عندنا 5 أسطر.


			for (int j=1; j<=5-i+1; j++)
			{
				System.out.print("* ");
			}
			
  • عدد دورات الحلقة j مرتبط بعدد الأسطر الإجمالي و بقيمة العداد i في كل سطر.
    فعلياً, في كل سطر عدد دورات الحلقة j يساوي عدد جميع الأسطر, ناقص رقم السطر الحالي, زائد واحد.
    و هكذا سيبدو أنه كلما زادت قيمة العداد i واحداً, سيقل عدد دورات الحلقة j واحداً أيضاُ.
    أي كلما إنتقلنا إلى سطر كلما نقص عدد الأعمدة واحد.

نرجو منك الإنتقال لدورة البرمجة للمبتدئين الجديدة التي أنشأنها كبديل أفضل لهذه الدورة ففي تلك الدورة قمنا بتبسيط الشرح أكثر و جعلناك قادر على تجربة الكود بشكل مباشر في موقعنا.

دورة تعلم البرمجة للمبتدئين >

الدورات

أدوات مساعدة

أقسام الموقع

دورات
مقالات كتب مشاريع أسئلة