اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

لا يبدو انه هنالك مشكلة في الكود بشكل نظري، هل يمكنك شرح المشكلة التي تواجهها، كذلك الامر قم بمشاركة الكود حتى استطيع تجريبه.

قد تكون المشكلة انك نسيت ان تحفظ التغييرات أو انه هنالك كود خاطئ يقوم بإيقاف التنفيذ قبل الكود الظاهر في الصورة (قم بالتأكد من الكونسول بأنه لا يوجد اي اخطاء)

  • 0
نشر

اظن ان الكود يهدف إلى طباعة نجمات (*) في الصفوف بناءً علي العدد المخزنت داخل متغير rows ، ولكن هناك خطأ واحد في طريقة عمل الحلقات. 

لتظهر معكي النتيجه المطلوبه من الكود يجب عليكي اضافةسطرًا جديدًا بعد كل صف مكتمل من النجمات.

بالاضافة الي انه يجب عليكي يجب تحويل قيمة المتغير rows إلى عدد صحيح (integer) قبل استخدامها في الحلقات. لانه عند استخدام prompt في JavaScript القيمة المدخلة من قِبل المستخدم تكون دائمًا من نوع سلسلة (string). إذا لم نقم بتحويلها إلى عدد صحيح، فإن الحلقات قد لا تعمل بالشكل المطلوب.

لذلك، يمكنك استخدام دالة parseInt() لتحويل القيمة إلى عدد صحيح. إليك الكود مع إضافة تحويل القيمة:

let rows = parseInt(prompt('enter row count')); // تحويل قيمة rows إلى عدد صحيح
let stars = ''; // تعيين السلسلة الفارغة هنا لتجميع النجمات فيها

for (let row = 1; row <= rows; row++) {
  for (let k = 0; k < row; k++) {
    stars += '*'; //العملية += لإضافة نجمة واحدة في كل دورة
  }
  stars += '\n'; // هذا السطر مسوؤل عن إضافة سطر جديد بعد كل صف مكتمل من النجمات
}

console.log(stars);

 

  • 0
نشر

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

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

بشكل عام، يبدو أن الكود يعمل بشكل صحيح ولا يحتوي على أي أخطاء.

وإذا لم يتم تنفيذ الكود فربما بسبب خطا في الكود السابق لهذا ال block  من الكود لذلك أفضل شيئ هو الإطلاع على ال console لمعرفة الخطأ وموجود مقالة لتعلم كيفية التعامل مع ال console بالتفصيل

 

  • 0
نشر

هناك خطأ في الاستخدام الصحيح للدالة

prompt()

يجب أن تعلم أن دالة

prompt()

تقوم بإرجاع قيمة من نوع سلسلة نصية (String)، حتى إذا قام المستخدم بإدخال رقم. وعليه، يجب تحويل هذه القيمة إلى رقم قبل استخدامها في الحلقة for، لتصحيح الخطأ، يمكنك استخدام دالة

parseInt()

لتحويل قيمة المتغير rows إلى رقم صحيح. يمكنك تحديث الكود كما يلي:

let rows = prompt('enter row count');
rows = parseInt(rows);

for (let row = 1; row <= rows; row++) {
  let stars = ''; 
  for (let k = 0; k < row; k++) {
    stars += '*'; 
  }
  console.log(stars);
}

يتم تحويل قيمة المتغير rows إلى رقم صحيح باستخدام دالة

 parseInt()

مما يضمن عمل الحلقة for بشكل صحيح مع الأرقام. الآن يمكنك استخدام الكود بنجاح لطباعة نجوم وفقًا لعدد الصفوف التي يدخلها المستخدم.

بالتوفيق

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...