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

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

المطلوب

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

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


إرشادات

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


الحل

var n;

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

if (n%2 == 0)
{
    n++;
}

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

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

Enter number of lines: 5
  *
 **
***
 **
  *

جرب الكود


شرح الكود

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