36) تمرین: بخشپذیری اعداد در جاوااسکریپت
test-1
در این مقاله، تمرینی جالب در حوزه برنامهنویسی جاوا اسکریپت رو انجام میدهیم که از عملگر درصد برای بررسی بخشپذیری استفاده میکنه. این تمرین به شما کمک میکنه تا از مهارتهای قبلی خود بهره ببرید. با استفاده از عملگر درصد، ما بخشپذیری اعداد در جاوااسکریپت رو بررسی میکنیم. قرار است در این جلسه یک تابع بنویسیم که یک عدد به عنوان ورودی میگیرد. اگر این عدد به 3 بخشپذیر باشه، مقدار hack
رو چاپ میکنه؛ اگر به 5 بخشپذیر باشه، مقدار iron
رو چاپ میکنه؛ و اگر به 15 بخشپذیر باشه، مقدار iron hack
رو چاپ میکنه.
ایجاد تابع بررسی بخشپذیری اعداد در جاوااسکریپت
بیایید با نوشتن تابعی با نام ironHack
شروع کنیم. این تابع ورودی رو بررسی میکنه تا مطمئن شود یک عدد است. اگر ورودی یک عدد نباشه، پیغام not a number
رو برمیگردونه. سپس بخشپذیری عدد رو بر اساس 3، 5 و 15 بررسی میکنه. نمونه کد زیر رو بررسی کنید:
function ironHack(x) { if (typeof x !== ‘number’) { return ‘not a number’; } } ironHack(‘megajs’); // not a number
حالا در صورتی که این کد رو در مرورگر خود اجرا کنید، خواهید دید که خروجی عدد نیست چرا که ما رشته فرستادیم. اگر عدد دهیم باید ادامه پیدا کند و بعد مینویسیم که اگر عدد واردشده تقسیم بر 3 شد و مقدارش برابر 0 شد، بیا ریترن کن مقدار iron
را، نمونه کد:
function ironHack(x) { if (typeof x !== ‘number’) { return ‘not a number’; } if (x % 3 == 0) { return ‘iron’ } } ironHack(6); // iron
حالا یک شرط دیگر میگذاریم و میگوییم که اگر عدد داده شده تقسیم بر 5 شد و مقدارش 0 شد، ریترن کن مقدار hack
را، نمونه کد:
function ironHack(x) { if (typeof x !== ‘number’) { return ‘not a number’; } if (x % 3 == 0) { return ‘iron’ } If(x % 5 == 0) { return ‘hack’ } } ironHack(10); // hack
حالا اگر این کد رو اجرا کنید در مرورگر خودتان، میبینید که مقدار hack
رو برای ما چاپ کرده، حالا باید یک شرط دیگر هم بگذاریم که بگوییم اگر عدد واردشده تقسیم بر 15 شد و مقدارش برابر 0 شد بیا و ریترن کن مقدار iron hack
را، نمونه کد:
function ironHack(x) { if (typeof x !== ‘number’) { return ‘not a number’; } if(x % 15 == 0) { return ‘ironHack’ } if (x % 3 == 0) { return ‘iron’ } if(x % 5 == 0) { return ‘hack’ } } ironHack(30); // ironHack
خب این کد بالا که نوشتیم یعنی عدد واردشده هم به 3 و هم به 5 تقسیم بشود و مقدارش برابر 0 بشود بیا و ریترن کن مقدار ironHack
را، نمونه کد:
function ironHack(x) { if (typeof x !== ‘number’) { return ‘not a number’; } if(x % 3 == 0 && x % 5 == 0) { return ‘ironHack’ } else { return x; } if (x % 3 == 0) { return ‘iron’ } if(x % 5 == 0) { return ‘hack’ } } ironHack(30); // ironHack
نکته پایانی
در نهایت یک در غیر این صورت نیز گذاشتیم که اگر بخشپذیر نبود، عدد رو برمیگردونه. چرا فقط شرط اول رو چک کرد و به بقیه اهمیتی نداد؟ چون ما ریترن کردیم و ریترن مقدار تابع ما هست و یک بار میتواند مقدار بگیرد. اگر به هر دو بخشپذیر بود و به 15 که میشود و فرقی ندارد این دو. اگر بخشپذیر بود، یک مقداری رو بیا و به تابع بده. حالا اگر نبود، ادامه کدها رو میخواند و هر کدام از شرطها زودترینش درست بود، آن مقدار رو به تابع میفرستد و دیگر ادامه کد رو کاری ندارد. حالا شما هر عددی رو بگذارید و چک کنید به هر کدام که زودتر بخشپذیر باشه، آن رو برمیگردونه و اجرا میکنه و به بقیه کاری ندارد.
حلقه برای بررسی اعداد تا 100
شما میتونید این تابع رو تا 100 بار اجرا کنید و ورودی بهش همان شمارنده حلقه رو بفرستید تا اعداد بین 0 تا 100 رو بررسی کند که چه اعدادی به 3، 5 و 15 بخشپذیرند و چه مقداری رو برمیگردونه.
این مقاله به اتمام رسید، امیدوارم که برای شما مفید بوده باشه. تمرین کنید تا این تمرینها کاملاً برای شما جا بیفتد و بدانید کجا باید از چه چیزهایی استفاده کنید.
برای مشاهده لینک دانلود لطفا وارد حساب کاربری خود شوید!
وارد شویدپسورد فایل : ندارد گزارش خرابی لینک
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.