الحلقات المتداخلة في البرمجة - التمرين الثامن عشر
المطلوب
أكتب برنامج يطلب من المستخدم إدخال عدد بين 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 وقت التشغيل.
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 وقت التشغيل.
1
22
3 3
4 4
55555