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

أساسيات البرمجةالحلقات المتداخلة - التمرين الثامن عشر

المطلوب

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


إرشادات

  • العدد الذي يدخله المستخدم قم بتخزينه في متغير إسمه n.
  • إستخدم الحلقة do while لإجبار المستخدم على إدخال قيمة أكبر من صفر.
  • فيما يلي طريقة تحليل الرسم كجدول.


الحل

var n;

do 
{
    write("Enter number of lines: ");
    n = read();
}
while (n<1 || n>9 || isNaN(n));

for (var i=1; i<=n; i++)
{
    for (var k=1; k<=n-i; k++)
    {
        write(" ");
    }
    
    for (var j=1; j<=i; j++)
    {
        if (j==1 || j==i || i==n)
        {
            write(i);
        }
        else 
        {
            write(" ");
        }
    }
    
    write("\n");
}

سنحصل على النتيجة التالية في حال أدخلنا العدد 5 عند التشغيل.

Enter number of lines: 5
    1
   22
  3 3
 4  4
55555

جرب الكود


شرح الكود

الفيديو التالي يشرح طريقة عمل الكود خطوة خطوة.



حل آخر

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

الحل

var n;

do 
{
    write("Enter number of lines: ");
    n = read();
}
while (n<1 || n>9 || isNaN(n));

for (var i=1; i<=n; i++)
{
    for (var j=1; j<=n; j++)
    {
        if (j==n-i+1 || j==n || i==n)
        {
            write(i);
        }
        else 
        {
            write(" ");
        }
    }
    
    write("\n");
}

سنحصل على النتيجة التالية في حال أدخلنا العدد 5 عند التشغيل.

Enter number of lines: 5
    1
   22
  3 3
 4  4
55555

جرب الكود