توابع ریاضی در ویژوال بیسیک
برای نوشتن برنامههای مهندسی، محاسباتی، گرافیکی و آماری نیاز دارید تا از برخی توابع ریاضی استفاده نمائید. ویژوال بیسیک 6 دارای مجموعهای از توابع است که برای انجام محاسبات عددی پیش بینی شده اند. در این مقاله ابتدا با این توابع آشنا شده و سپس چگونگی ایجاد سایر توابع ریاضی را که در میان این مجموعه وجود ندارند خواهید دید. در پایان نیز با توابع ریاضی موجود در دات نت آشنا میشوید.
تابع 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
ایجاد سایر توابع ریاضی که در ویژوال بیسیک 6 وجود ندارند :
جدول زیر چگونگی محاسبه سایر توابع ریاضی که در ویژوال بیسیک 6 وجود ندارند را نشان میدهد:
تابع | فرمول |
سکانت | 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 در برنامههای خود، ثوابت زیر را تعریف نمائید:
Const Pi = 3.14159265358979
همچنین عدد پی را میتوان به صورت زیر تعریف کرد:
Const e = 2.71828182845904
Pi = 4 * Atn(1)
تبدیل رادیان به درجه
چون اکثر توابع مثلثاتی بر حسب رادیان کار می کنند گاهی اوقات نیاز داریم تا زوایا را از در جه به رادیان و بالعکس تبدیل کنیم. برای تبدیل یک زاویه بر حسب رادیان به درجه، آنرا در 180 ضرب کرده و سپس بر عدد پی تقسیم میکنیم:
Degree(x) = x * 180 / Pi
برای تبدیل یک زاویه بر حسب درجه به رادیان، آنرا در عدد پی ضرب کرده و سپس بر 180 تقسیم میکنیم:
Rad(x) = x * Pi / 180