PDA

مشاهده نسخه کامل : توابع رياضی و ويژوال بيسيک



Security
14-06-07, 11:34
مقدمه

برای نوشتن برنامه های مهندسی ، محاسباتی ، گرافيکی و آماری نياز داريد تا از برخی توابع رياضی استفاده نمائيد . ويژوال بيسيک ۶ دارای مجموعه ای از توابع است که برای انجام محاسبات عددی پيش بينی شده اند . در اين مقاله ابتدا با اين توابع آشنا شده و سپس چگونگی ايجاد ساير توابع رياضی را که در ميان اين مجموعه وجود ندارند خواهيد ديد . در پايان نيز با توابع رياضی موجود در دات نت آشنا می شويد .

توابع رياضی موجود در ويژوال بيسيک ۶

- تابع 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 ( تابع توان )

شرمنده اگر پرانتزها جابه جا شد . . .
منبع : كامپيوتر من .

MKH
14-06-07, 13:06
فقط VB6 چرا ؟
خیلی عالیه ولی بهتره توابع .Net رو بذاری.
OK?
TNX
MKH