41) تمرین: چاپ ستاره به تعداد هر سطر
آموزش رایگان جاوااسکریپت
توضیح کامل درباره تمرین
در این مقاله به سراغ یک تمرین جالب میرویم. اگر شما هر زبان برنامهنویسی را یاد بگیرید، احتمالاً حداقل یک بار با این دستور کار کردهاید. مخصوصاً دوستانی که در دانشگاه با زبان “++C” کار کرده باشند، این مثالی معروف است که اکثر اساتید دانشگاه از آن استفاده میکنند. چاپ ستاره به تعداد هر سطر!
ما قصد داریم این کار را با جاوا اسکریپت انجام دهیم، زیرا موضوع ما یادگیری زبان جاوا اسکریپت است. در این تمرین، به تعداد هر عددی که از کاربر میگیریم، یک ردیف ستاره چاپ میکنیم. مثلاً اگر عدد 5 وارد شود، پنج ردیف ستاره چاپ میشود؛ بهطوریکه در هر ردیف، به تعداد همان ردیف ستاره نمایش داده میشود. یعنی ردیف اول یک ستاره، ردیف دوم دو ستاره و همینطور تا ردیف N ام.
قبل از خواندن ادامه مقاله، توصیه میکنم که خودتون یک بار سعی کنید به تعداد سطر دلخواهتون ستاره چاپ کنید. در این تمرین، از دو حلقه “for” تو در تو استفاده میکنیم. اگر در حل این تمرین مشکل داشتید، ادامه مقاله را بخوانید و مشکل خود را برطرف کنید. اگر مشکلی نداشتید، ببینید که من این تمرین را چگونه حل میکنم.
شروع کدنویسی
برای حل این تمرین، ابتدا باید یک حلقه “for” تعریف کنیم. یک متغیر به نام “row” میسازیم و در شرط حلقه آن را برابر با 1 قرار میدهیم. میگوییم که تا زمانی که متغیر “row” به تعداد متغیر “rows” نرسیده است، این حلقه ادامه پیدا کند و هر بار مقدار “row” یک واحد افزایش یابد. مقدار متغیر “rows” نیز برابر 5 است.
استفاده از حلقه تو در تو
در داخل حلقه اول، یک حلقه “for” دیگر تعریف میکنیم. شرط این حلقه این است که تا زمانی که متغیر “i” که برابر 0 است به مقدار متغیر “row” نرسیده است، هر بار مقدار “i” یک واحد افزایش یابد. در داخل این حلقه، یک متغیر به نام “pattern” تعریف میکنیم و مقدار آن را برابر با یک اسپیس خالی قرار میدهیم. سپس، هر بار که حلقه اجرا میشود، به “pattern” یک ستاره “*” اضافه میکنیم. در نهایت، مقدار “pattern” را در کنسول مرورگر لاگ میگیریم.
let rows = 5; for (let row = 1; row < rows; row++) { let pattern = ‘ ‘; for (let i = 0; i < row; i++ { pattern += ‘*’ } console.log(pattern); }
خروجی کد
خروجی کد به صورت زیر خواهد بود:
* ** *** ****
تحلیل و بررسی کد
تا اینجا توانستیم این تمرین ساده را حل کنیم و خروجی ستاره ها را به درستی در کنسول مشاهده کنیم. حالا میتوانید در حلقه اول یک شرط “مساوی” هم اضافه کنید تا 5 ردیف ستاره برای شما لاگ گرفته شود. زمانی که متغیر “row” را تعریف میکنیم و آن را از 1 شروع میکنیم، این کار باعث میشود که اولین لاگ در کنسول خالی نباشد. ما میگوییم که حلقه تا متغیر “rows” ادامه پیدا کند و هر بار یک واحد به متغیر “row” اضافه شود.
در حلقه دوم نیز، هر بار که متغیر “row” مقدار میگیرد، یک ستاره به متغیر “pattern” اضافه میشود و در پایان، این مقدار در کنسول لاگ میشود تا ستارهها را مشاهده کنیم.
نکته پایانی
زمانی که از حلقه استفاده میکنیم، باید دقت کنید که تا کار حلقه تمام نشده، کد به اجرای خود ادامه نمیدهد و در همانجا منتظر میماند. اگر حلقهها را تو در تو بنویسید، ستارهها را جدا از هم میبینید؛ ولی اگر کد را بیرون از حلقه بنویسید، ستارهها را به هم چسبیده و در یک خط خواهید دید.
با تغییر مقدار متغیر “rows”، تعداد ستارههای چاپ شده نیز تغییر میکند. با این تغییرات ساده، میتوانید تمرین را به خوبی درک کنید.
این مقاله به پایان رسید. حتماً تمرین کنید تا این مثال برای شما به خوبی جا بیفتد. تنها با تمرین است که میتوانید به خوبی یاد بگیرید. موفق باشید!
برای مشاهده لینک دانلود لطفا وارد حساب کاربری خود شوید!
وارد شویدپسورد فایل : ندارد گزارش خرابی لینک
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.