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

السؤال

نشر
for (let i = 8; i > 0; i--){
console.log('#'.repeat(i));
}

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

Recommended Posts

  • 0
نشر

سأحاول شرح الكود بالتفصيل، أولا لدينا جملة التكرار تبدأ بالمتغير i بقيمة 8 وتستمر في التكرار طالما أن i أكبر من 0، في كل مرة يقل i بمقدار 1 (i--)، ثما لدينا جملة الطباعة:

console.log('#'.repeat(i));

في كل دورة، تقوم بطباعة سلسلة من # بطول i، لذلك نتيجة الكود ستكون:

########
#######
######
#####
####
###
##
#

إذا أردنا طباعة المثلث بشكل عكسي، حيث يبدأ بسطر واحد ويزيد حتى 8 أسطر، يمكننا تعديل جملة التكرار بالشكل التالي:

for (let i = 1; i <= 8; i++)

هنا نبدأ بالمتغير i بقيمة 1 ونستمر في التكرار طالما أن i أقل من أو يساوي 8، في كل مرة يزيد i بمقدار 1 (i++).

نتيجة هذا الكود ستكون:

#
##
###
####
#####
######
#######
########
  • 0
نشر

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

  1. في حلقة For قمنا بتعريف متغير i وهو المتغير الإبتدائي في الحلقة وأعطيناه رقم 8 .
  2. في الجزء الثاني من حلقة for هو جزء الشرط والذى ستم التكرار ما دام الشرط صحيحا وهنا كتبنا شرط أن الرقم i لا يكون أقل من 0 .
  3. وفي الجزء الثالث من الحلقة فهو الجزء الذى سيتم تنفيذه مباشرة عن إنتهاء دورة من دورات for وهنا قمان بإنقاص 1 من قيمة i.

وبداخل for نقوم بجملة الطباعة console.log و نقوم بطباعة '#'.repeat(i) والدالة repeat تقوم بتكرار السلسلة بعدد من المرات التي يتم تمريرها له .

  • لذلك في الدورة الأولي سيكون i ب 8 لذلك سيتم طباعة 8 علامات # وبعد ذلك سيتم إنقاص i ب 1 لتصبح الآن 7 .
  • والشرط صحيح حيث 7 أكبر من 0 . لذلك سندخل في الدورة الثانية وسيتم طباعة # 7 مرات وهكذا إلى أ، تصبح i ب 1 وسيتم طباعة # فقط وبعد ذلك ستكون i ب 0 ولن يتحقق الشرط وسيخرج من ال for .

وإذا أردت عكس المثلث فكل ما عليك تغيره هو الرقم الإبتدائي في 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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...