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