Math and Arithmetic logic in JavaScript
اعداد در برنامه نویسی کاربردهای بسیار زیادی دارند. مهم ترین شناسه یک موجودیت یک عدد است که به آن Identifier می گوییم که به اختصار id یا ID در منطق های برنامه نویسی است .
ملیات های ریاضی قسمت اعظم یک زبان برنامه نویسی و علم کامپیوتر است با این که در نرم افزار های مبتنی بر موجودیت های غیر ریاضی مثل محصول و غیر کمتر از عملیات های ریاضی استفاده می گردد اما فلسفه به وجود آمدن کامپیوتر حل مسایل ریاضی بوده است به همین دلیل هر زمان سراغ یک زبان برنامه نویسی رفتید مباحث ریاضی بخش های جدایی ناپذیر هستند.
رشته های تصادفی برای یکتا کردن موجودیت ها و المان ها از هم با استفاده از ترکیب حروف و اعداد امکان پذیر است . گاه یک عدد با تغییر مبنا و یک سری عملیات می تواند با همان ماهیت طول رشته متفاوتی داشته باشد و برای Encode و Decode از آن استفاده کنیم. عملیات های ریاضی معمولا قابل بازگشت هستند و برای رمزنگاری می توان از آن ها استفاده کرد.
برای تولید توکن یکتا می توان از اعداد و عملیات های آن استفاده کنیم. در نهایت عدد یکتا به ازای درخواست یا کاربر را با یک رمزنگاری تبدیل به یک توکن یکتا (که یکی از کاربرد های آن لاگین برای درخواست های موبایل است) بکنیم.
Math Reference
Math برای اجرای عملیات های ریاضی استفاده می شود . ثوابت ریاضی ویژگی ها (Attributes) و عملیات های ریاضی متد های (Methods) های آن ها است. برای استفاده از متد ها و ویژگی های Math لازم نیست instance از آن بگیریم و به صورت static می توان از آن ها استفاده کرد
توابع ریاضی و عملیات های آن ها در اجرای منطق های محض ریاضی کاربرد خواهند داشت اما گاه می توان برای اطمینان از یک عملیات از این ویژگی ها استفاده کرد.
Property | Description |
PI | عدد پی که برابر با 3.141592653589793 است . این عدد یک ثابت ریاضی است برای بدست آوردن محیط و مساحت دایره . از این عدد و اعشار های آن می توان یک سری عدد تصادفی غیر یکسان و نزدیک به هم ساخت .
let x = Math.PI; |
E | این عدد که به عدد اویلر هم معروف است یک عدد بین ۲ و ۳ می باشد که رفتار مشخصی در عملیات های ریاضی دارد.
Math.E //2.718281828459045 |
Math Object Methods
Method | Description |
ceil | نزدیک ترین عدد صحیح به سمت بالا upward to its nearest integer
Math.ceil(1.4) //2 |
floor | نزدیکترین عدد صحیح به سمت پایین downward to its nearest integer
Math.floor(1.6) //1 |
round | به نزدیکترین عدد صحیح مربوطه بر اساس اعشار آن می رود number to the nearest integer
let a = Math.round(2.60); //3 let b = Math.round(2.50); //3 let c = Math.round(2.49); //2 let d = Math.round(-2.60); //-3 let e = Math.round(-2.50); //-2 let f = Math.round(-2.49); //-2 به رفتار این متد در اعداد دقیقا وسط ۰/۵ در بازه مثبت و منفی دقت کنید. |
trunc | برگرداندن مقدار صحیح بدون توجه به موقعیت اعشار
Math.trunc(8.2); //8 Math.trunc(8.8); //8 Math.trunc(8.5); //8 Math.trunc(8.6); //8 |
max | برای بدست آوردن عدد با بیشترین مقدار در لیست اعداد ورودی آن است
let a = Math.max(5, 10); //10 let b = Math.max(0, 150, 30, 20, 38); //150 let c = Math.max(-5, 10); //10 let d = Math.max(-5, -10); //-5 let e = Math.max(1.5, 2.5); //2.5 |
min | برای بدست آوردن عدد با کمترین مقدار در لیست اعداد ورودی
let a = Math.min(5, 10); //5 let b = Math.min(0, 150, 30, 20, 38); //0 let c = Math.min(-5, 10); //-5 let d = Math.min(-5, -10); //-10 let e = Math.min(1.5, 2.5); //2.5 |
random | همیشه یک عدد مابین 0 و 1 بر می گرداند. این عدد یک تعداد مشخص اعشار دارد.
Math.random(); //0.23266188615460937 |
abs | قدرمطلق
Math.abs(-7.25); //7.25 |
pow | عملیات توان
Math.pow(4, 3); //4*4*4 = 64 |
sqrt | عملیات جذر
Math.sqrt(9); //3 |
sign | این متد اگر عدد پارامتر برابر با 0 باشد 0 برمی گرداند و اگر مثبت باشد +1 و اگر عدد منفی باشد -1 بر می گرداند. |
Arithmetic Operators
operator | Description |
+ | Addition |
– | Subtraction |
* | Multiplication |
/ | Division |
% | بدست آوردن باقیمانده عدد در عملیات تقسیم (Remainder)
let x = 5; let y = 2; let z = x % y; //1 |
** | توان (Exponentiation)
let x = 5; let z = x ** 2; // 25 متد Math.pow نیز همین منظور است. |
++ | یک پله افزایش
let x = 5; x++; 5 x; 6 /*--------------------*/ let x = 5 ++x 6 x 6 تفاوت ++x و x++ را در مثال بالا مشاهده می کنید. این عملیات دقیقا شبیه به عملیات — می باشد. |
— | یک پله کاهش
let x = 5; x--; let z = x; //4 |
+= | متغیر سمت چپ هم در عملیات جمع دخیل است هم در عملیات مقدار دهی (Addition and assignment)
let x = 10; let y = 5; x += y; // x = x + y // x = 15 , y = 5 |
-= | معادل تفریف و مقدار دهی (subtraction and assignment)
let x = 10; let y = 5; x -= y; // x = x - y //x=5 , y=5 |
*= | معادل اعمال ضرب و مقدار دهی در متغیر سمت چپ
let x = 10; let y = 5; x *= y; // x = x * y // x = 50 , y = 5 |
/= | معادل عملیات تقسیم و مقدار دهی (divion and assignment) |
%= | معادل عملیات باقیمانده و مقداردهی (reminder and assignment)
let x = 10; let y = 5; x %= y; // x = x % y //x = 0 , y = 5 |
Random Number
خاصیت اعداد میان 0 , 1 : اگر هر عدد صحیح را در یکی از اعداد میان صفر و یک ضرب کنیم مقدار آن کوچکتر می شود و اگر در اعداد میان صفر و یک تقسیم کنیم مقدار آن بزرگتر از عدد است (برعکس حالت عادی که در ضرب عدد بزرگتر از عدد فعلی بود و در تقسیم کوچکتر بود) .
از این خاصیت برای تولید عدد تصادفی استفاده می کنیم.
Math.floor((Math.random() * 100));
در عملیات بالا یک عدد تصادفی بین 0 تا 10 ایجاد می کنیم. برای این مورد نیاز است که یک عدد ما بین 0 و 1 ایجاد کنیم . برای این کار لازم است از متد random استفاده کنیم . بعد آن را در عددی که قرار است مقدار آن ماکزیمم عدد تصادفی باشد ضرب کنیم. عدد بدست آمده را به بال رند می کنیم. برای این که آخرین عدد یعنی مثلا 10 را هم داشته باشیم با 1 جمع می کنیم و اگر نیازی به این حساسیت نبود جمع آخر را کنسل کنیم.
Math.floor((Math.random() * 100) + 1);
برای تبدیل رشته به عدد از تابع parseInt استفاده می کنیم.
parseInt("5") //5
دیدگاهتان را بنویسید