الخوارزمياتالحلقات المتداخلة - التمرين الخامس
المطلوب
إستخدم الحلقات لطباعة الشكل التالي.
بما أن هذا الشكل يشبه تماماً الشكل السابق, يمكننا إعتماد نفس مبدأ التحليل و إستخدام نفس المعادلة السابقة التي وضعناها للحلقة 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واحداً أيضاُ.
أي كلما إنتقلنا إلى سطر كلما نقص عدد الأعمدة واحد.