مقدمه
برای نوشتن برنامه های مهندسی ، محاسباتی ، گرافیکی و آماری نیاز دارید تا از برخی توابع
ریاضی استفاده نمائید . ویژوال بیسیک ۶ دارای مجموعه ای از توابع است که برای انجام محاسبات عددی پیش بینی شده اند . در این مقاله ابتدا با این توابع آشنا شده و سپس چگونگی ایجاد سایر توابع ریاضی را که در میان این مجموعه وجود ندارند خواهید دید . در پایان نیز با توابع ریاضی موجود در دات نت آشنا می شوید .
توابع ریاضی موجود در ویژوال بیسیک ۶
- تابع Abs (قدرمطلق) : مقدار بدون علامت یک عدد را برمی گرداند .
- تابع Atn (آرک تانژانت) : خروجی تابع عددی از نوع double است که برابر زاویه ای است که تانژانت آن عدد ورودی تابع است .
- تابع Cos ( کسینوس ) : خروجی تابع عددی از نوع double است که برابر کسینوس زاویه ورودی است .
- تابع Exp (توان نمانی) : خروجی تابع عددی از نوع double است که برابر e به توان ورودی تابع است .
- تابع Int (تابع کف یا تابع جزء صحیح) : نزدیکترین عدد صحیح مساوی یا کوچکتر نسبت به عدد ورودی را برمی گرداند .
- تابع Log (لگاریتم ) : خروجی تابع عددی از نوع double است که برابر لگاریم طبیعی عدد ورودی است ( لگاریتم بر مبنای عددe یا همان Ln )
- تابع Round ( گرد کردن ) : خروجی تابع عددی از نوع double است که برابر نزدیکترین عدد صحیح به مقدار عدد ورودی است .
- تابع Sgn (علامت) : خروجی تابع عددی از نوع صحیح است که نشان دهنده علامت عدد ورودی است .
- تابع Sin (سینوس ) : خروجی تابع عددی از نوع double است که برابر سینوس زاویه ورودی است .
- تابع Sqr (جذر) : خروجی تابع عددی از نوع double است که برابر ریشه دوم یا جذر عدد ورودی است .
- تابع Tan (تانژانت) : خروجی تابع عددی از نوع double است که برابر با تانژانت زاویه ورودی ( برحسب رادیان ) می باشد .
نکته : برای محاسبه توان n ام یک عدد ( n می توان صحیح یا اعشاری باشد ) از اپراتور ^ استفاده نمائید . برای مثال :
2^5=32
9^0.5=3
4.2^3.7=202.31
چگونگی ایجاد سایر توابع ریاضی که در ویژوال بیسیک ۶ وجود ندارند
جدول زیر چگونگی محاسبه سایر توابع ریاضی که در ویژوال بیسیک ۶ وجود ندارند را نشان می دهد :
سکانت | Sec(X) = 1 / Cos(X) |
کسکانت | Cosec(X) = 1 / Sin(X) |
کتانژانت | Cotan(X) = 1 / Tan(X) |
آرک سینوس | Arcsin(X) = Atn(X / Sqr(1-X * X )) |
آرک کسینوس | Arccos(X) = Atn(-X / Sqr(1-X * X)) + 2 * Atn(1) |
آرک سکانت | Arcsec(X) = Atn(X / Sqr(X * X - 1)) + Sgn((X) -1) * (2 * Atn(1)) |
آرک کسکانت | Arccosec(X) = Atn(X / Sqr(X * X - 1)) + (Sgn(X) - 1) * (2 * Atn(1)) |
آرک کتانژانت | Arccotan(X) = Atn(X) + 2 * Atn(1) |
سیونس هیپربولیک | HSin(X) = (Exp(X) - Exp(-X)) / 2 |
کسینوس هیپربولیک | HCos(X) = (Exp(X) + Exp(-X)) / 2 |
تانژانت هیپربولیک | HTan(X) = (Exp(X) - Exp(-X)) / (Exp(X) + Exp(-X)) |
سکانت هیپربولیک | HSec(X) = 2 / (Exp(X) + Exp(-X)) |
کسکانت هیپربولیک | HCosec(X) = 2 / (Exp(X) - Exp(-X)) |
کتانژانت هیپربولیک | HCotan(X) = (Exp(X) + Exp(-X)) / (Exp(X) - Exp(-X)) |
آرک سینوس هیپربولیک | HArcsin(X) = Log(X + Sqr(X * X + 1)) |
آرک کسینوس هیپربولیک | HArccos(X) = Log(X + Sqr(X * X - 1)) |
آرک تانژانت هیپربولیک | HArctan(X) = Log((1 + X) / (1 - X)) / 2 |
آرک سکانت هیپربولیک | HArcsec(X) = Log((Sqr(1-X * X) + 1) / X) |
آرک کسکانت هیپربولیک | HArccosec(X) = Log((Sgn(X) * Sqr(X * X + 1) +1) / X) |
آرک کتانژانت هیپربولیک | HArccotan(X) = Log((X + 1) / (X - 1)) / 2 |
لگاریتم بر مبنای N | LogN(X) = Log(X) / Log(N) |
اعداد π و e در ویژوال بیسیک 6
برای استفاده از عدد پی و عدد e در برنامه های خود ثوابت زیر را تعریف نمائید :
Const Pi = 3.14159265358979
Const e = 2.71828182845904
همچنین عدد پی را می توان به صورت زیر تعریف کرد :
Pi = 4*Atn(1)
تبدیل رادیان / درجه
چون اکثر توابع مثلثاتی بر حسب رادیان کار می کنند گاهی اوقات نیاز داریم تا زاویا را از در جه به رادیان و بالعکس تبدیل کنیم . برای تبدیل یک زاویه که بر حسب رادیان می باشد به درجه آنرا در 180 ضرب کرده و سپس بر عدد پی تقسیم می کنیم :
Degree(x) =x*180/Pi
برای تبدیل یک زاویه که بر حسب درجه بیان شده به رادیان آنرا در عدد پی ضرب کرده و سپس بر 180 تقسیم می کنیم :
Rad(x) =x*Pi/180
توابع ریاضی و VB.Net
مجموعه توابع ریاضی در در ویژوال بیسیک دات نت وجود دارند بسیار قویتر و کاملتر هستند . این مجموعه توابع در کلاس System.Math موجود می باشند :
- در کلاس Math دو ثابت به اسم E و PI برای نشان دادن پایه لگاریتم طبیعی و عدد پی وجود دارند .
- توابع مثلثاتی : Acos ( آرک کسینوس ) ، Asin ( آرک سینوس) ، Atan ( آرک تانژانت) ، Atan2 ( آرک تانژانت خارج قسمت تقسیم ورودی ها ) ، Cos ( کسینوس ) ، Sin ( سینوس ) ، Tan ( تانژانت )
- توابع عمومی : Abs ( قدرمطلق ) ، BigMul ( حاصلضرب کامل دو عدد 32 بیتی ) ، Ceiling ( تابع سقف ) ، DivRem ( خارج قسمت نقسیم دو عدد ) ، Floor ( تابع کف ) ، IEEERemainder ( باقیمانده نقسیم دو عدد ) ، Max ( ماکزیمم بین دو عدد ) ، Min ( مینیمم بین دو عدد ) ، Round ( تابع گرد کردن ) ، Sign ( تابع علامت ) ، Sqrt ( تابع جذر )
- توابع هیپربولیک : Cosh ( کسینوس هیپربولیک ) ، Sinh ( سینوس هیپربولیک ) ، Tanh ( تانژانت هیپربولیک )
- توابع نمایی و لگاریتمی : Exp ( عدد e به توان مقدار ورودی ) ، Log ( لگاریتم ) ، Log10 ( لگاریتم بر پایه 10 ) ، Pow ( تابع توان )