Programming Basics SQL HTML CSS JavaScript Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Learn Typing

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

المطلوب

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


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

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

الخوارزمية

كود الجافا

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");
}
}
}
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--)
for (int i=5; i>=1; i--)
  • الحلقة i تعني أنه عندنا 5 أسطر.
  • كما تلاحظ أن هذه المرة الأولى التي نجعل فيها قيمة العداد i تقل في كل دورة بدل أن تزيد.


for (int j=1; j<=i; j++)
{
System.out.print("* ");
}
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 لذلك تم طباعة *

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


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