آموزشگاه برنامه نویسی تحلیل داده
آموزشگاه برنامه نویسی تحلیل داده

توابع ریاضی (math) در سی شارپ

دوره های مرتبط با این مقاله

آموزش سی شارپ - توابع ریاضی در سی شارپتوابع ریاضی در سی شارپ

در هر زبان برنامه نویسی لازم است تا بتوان اعمال ریاضی مشخصی را روی داده های عددی به کار برد. برخی از این عملیات پرکاربرد بوده و به صورت استاندارد درون اغلب زبان های برنامه نویسی وجود دارند. در سی شارپ این عملیات به کمک عملیات و امکانات تعریف شده در کلاس MATH انجام می شود.
سیستم عدد اعشاری (decimal) از منفی بی نهایت آغاز شده و به مثبت بی نهایت ختم می شود. به عبارت دیگر، بسته به موقعیت آن ها (این که بعد از صفر قرار می گیرند یا قبل آن) اعداد یا منفی هستند یا مثبت. البته به جز عدد 0 که خنثی تلقی می گردد. در برخی عملیات عدد حتماً باید مثبت باشد، حتی اگر در قالب منفی ارائه شده باشد. مقدار مطلق عدد x همان x است، البته در صورتی که عدد مورد نظر مثبت باشد. چنانچه عددی منفی بود، مقدار مطلق آن معادل مثبت آن عدد محسوب می شود. برای مثال، مقدار مطلق 12 همان 12 هست، این در حالی است که مقدار مطلق 12- ، 12 است. برای به دست آوردن مقدار مطلق یک عدد، کلاس Math مجهز به متدی است به نام Abs، که در نسخه های متعدد اضافه بار گذاری (overload) شده است. دستور زبان (syntax) آن ها به شرح زیر است.

                
public static sbyte   Abs(sbyte   value);
public static short   Abs(short   value);
public static int     Abs(int     value);
public static float   Abs(float   value);
public static double  Abs(double  value);
public static long    Abs(long    value);
public static decimal Abs(decimal value);

متد فوق آرگومانی می گیرد که باید مقدار مطلق آن را به دست آورد.

                
using System;
class Program
{
    static int Main()
    {
        int number   = -6844;
        Console.WriteLine("Original Value = {0}", number);
        Console.WriteLine("Absolute Value = {0}\n", Math.Abs(number));
        return 0;
    }
}

آموزش سی شارپ - توابع ریاضی در سی شارپسقف (گرد شده به بالا) یک عدد

عددی با ممیز اعشار مثل 12.155 را در نظر بگیرید. این عدد بین integer 12 و integer 13 قرار دارد. به همین نحو، عددی مثل -24.06 را در نظر بگیرید که منفی بوده و بین اعداد 24- و 25- قرار می گیرد. لازم به ذکر نیست که 24- بزرگ تر است. در علم حساب سقف یک عدد، نزدیک ترین عدد صحیح (integer) هست که از عدد مورد نظر بزرگ تر باشد. در مثال اول سقف 12.155، عدد 13 است زیرا 13 نزدیک ترین عدد صحیح بزرگتر از (یا برابر با) 12.155 می باشد. حال سقف عدد -24.06، 24- می باشد. برای به دست آوردن سقف یک عدد، کلاس Math مجهز به متدی است به نام Ceiling که در دو نسخه اضافه بارگذاری شده است. دستور نحوی این دو نسخه به صورت زیر می باشد.

// Ceiling() method signature only
public static double Ceiling(double a);
public static decimal Ceiling(decimal d);

متد بالا به عنوان آرگومان یک متغیر عدد با ممیز اعشار می گیرد که سقف آن را باید به دست آورد.

آموزش سی شارپ - توابع ریاضی در سی شارپ مثال:

                
using System;
class Program
{
    static int Main()
    {
        double value1 = 155.55; double value2 = -24.06;
        Console.WriteLine("The ceiling of {0} is {1}",
                            value1, Math.Ceiling(value1));
        Console.WriteLine("The ceiling of {0} is {1}\n",
                            value2, Math.Ceiling(value2));
        return 0;
    }
}

نتیجه

The ceiling of 155.55 is 156
The ceiling of -24.06 is -24
Press any key to continue...
جدا از کلاس Math، ساختار Double پیاده سازی خودش از متد نام برده را با دستور نحوی زیر ارائه می دهد.

                
public static decimal Ceiling(decimal d);

آموزش سی شارپ - توابع ریاضی در سی شارپ کف (گرد شده به پایین یا همان جزء صحیح) یک عدد

دو عدد اعشاری 128.44 و -36.72 را در نظر بگیرید. 128.44 بین دو عدد 128 و 129 قرار دارد که 128 عدد کوچکتر محسوب می شود. -36.72 بین دو عدد -37 و -36 قرار گرفته که -37 عدد کوچکتر محسوب می شود. کمترین یا پایین ترین ولی در عین حال نزدیک ترین مقدار integer یک عدد را کف آن عدد می گویند. برای بدست آوردن کمترین مقدار یک عدد کلاس Math، متد Floor() را ارائه می دهد. این متد در دو نسخه ی زیر اضافه بارگذاری می شود.

                
public static double Floor(double d);
public static decimal Floor(decimal d);

تد Floor() مقدار مربوط را به عنوان آرگومان گرفته و عدد صحیحی (integer) را برمی گرداند که کوچکتر از (یا برابر با) آرگومان نام برده باشد.

آموزش سی شارپ - توابع ریاضی در سی شارپ مثال:

                
using System;
class Program
{
    static int Main()
    {
        double value1 = 1540.25;
        double value2 = -360.04;
        Console.WriteLine("The floor of {0} is {1}",
                            value1, Math.Floor(value1));
        Console.WriteLine("The floor of {0} is {1}\n",
                            value2, Math.Floor(value2));
        return 0;
    }
}

نتیجه ی زیر حاصل می گردد

The floor of 1540.25 is 1540
The floor of -360.04 is -361
Press any key to continue...
به جای استفاده از کلاس Math، می توان ساختار Double را به کار برد که متدی ویژه ی بدست آوردن کم ترین مقدار (کف) عدد اعشاری دارد. دستور نحوی آن به شکل زیر اس

                
public static decimal Ceiling(decimal d);

آموزش سی شارپ - توابع ریاضی در سی شارپبه توان رساندن یک عدد

در C# توان با فرمول زیر انجام می شود.

ReturnValue = xy
کلاس Math برای انجام عملیات توان، متد Pow را در اختیار شما قرار می دهد که دستور نحوی آن به شکل زیر است.

                
public static double Pow(double x، double y);

این متد دو آرگومان می گیرد. آرگومان اول، x، عدد پایه است که باید ارزیابی شود. آرگومان دوم، y، که توان نامیده می شود، آرگومان x را به توان آرگومانy می برد.

                
using System;
class Program
{
    static int Main()
    {
        const double source = 25.38;
        const double exp = 3.12;
        double result = Math.Pow(source, exp);
        Console.WriteLine("Pow({0}, {1}) = {2}\n",
                            source, exp, result);
        return 0;
    }
}

نتیجه

Pow(25.38، 3.12) = 24099.8226934415
Press any key to continue...

آموزش سی شارپ - توابع ریاضی در سی شارپ مقدار نمایی (The Exponentional)

می توان مقدار نمایی یک عدد را محاسبه کرد. کلاس Math، متد Exp() را برای این منظور در نظر گرفته است. دستور نحوی آن به شکل زیر می باشد.

                
public static double Exp (double d);

آموزش سی شارپ - توابع ریاضی در سی شارپ مثال:

                
using System;
class Program
{
    static int Main()
    {
        Console.WriteLine("The exponential of {0} is {1}",
                        709.78222656, Math.Exp(709.78222656));
        return 0;
    }
}

نتیجه ی زیر به دست می آید.

The exponential of 709.78222656 is 1.79681906923757E+308
Press any key to continue...
چنانچه مقدار x از عدد (تقریبی) -708.395996093 کوچکتر بود، مقدار صفر برگردانده می شود و وضعیت پاریز (underflow) رخ می دهد. در صورتی که مقدار آرگومان x بزرگتر از عدد (تقریبی) 709.78222656 بود، (نتیجه) وضعیت سرریز (overflow) رخ می دهد.

آموزش سی شارپ - توابع ریاضی در سی شارپ لگاریتم طبیعی

برای محاسبه لگاریتم طبیعی یک عدد بر مبنای دو، می توان متد Math.Log() را فراخواند. متد مزبور به دو صورت زیر ارائه می شود که دیگری برای محاسبه لگاریتم در مبنای ده است.

                
public static double Log(double d);

آموزش سی شارپ - توابع ریاضی در سی شارپ مثال:

                
using System;
class Program
{
    static int Main()
    {
        double log = 12.48D;
        Console.WriteLine("Log of {0} is {1}", log, Math.Log(log));
        return 0;
    }
}

نتیجه ی زیر حاصل می شود.

Log of 12.48 is 2.52412736294128
Press any key to continue...

آموزش سی شارپ - توابع ریاضی در سی شارپ لگاریتم پایه ی 10

متد Math.Log10() لگاریتم پایه ی 10 یک عدد را محاسبه می کند. دستور نحوی متد نام برده به صورت زیر است.

                
public static double Log10(double d);

متد Math.Log10() لگاریتم پایه ی 10 یک عدد را محاسبه می کند. دستور نحوی متد نام برده به صورت زیر است.

y = log10x‏

که معادل x = 10y است.

آموزش سی شارپ - توابع ریاضی در سی شارپ مثال:

                
using System;
class Program
{
    static int Main()
    {
        double log10 = 12.48D;
        Console.WriteLine("Log of {0} is {1}", log10, Math.Log10(log10));
        return 0;
    }
}

نتیجه ی زیر حاصل می گردد.

Log of 12.48 is 1.09621458534641
Press any key to continue...

آموزش سی شارپ - توابع ریاضی در سی شارپ لگاریتم به هر مبنایی

متد Math.Log() نسخه ی دیگری فراهم می کند که دستور نحوی آن بدین صورت است.

                
public static double Log(double a, double newBase);

متغیری که مقدار لگاریتمی آن محاسبه می شود، به عنوان اولین آرگومان به متد ارسال می گردد. آرگومان دوم به شما اجازه می دهد مبنای (لگاریتم) دلخواه خود را تعیین کنید. چنین متدی از فرمول زیر استفاده می کند
Y = logNewBaseX

که با فرمول زیر یکی است. x = NewBasey

آموزش سی شارپ - توابع ریاضی در سی شارپ مثال:

                
using System;
class Program
{
    static int Main()
    {
        double logN = 12.48D;
        Console.WriteLine("Log of {0} is {1}", logN, Math.Log(logN, 4));
        return 0;
    }
}

آموزش سی شارپ - توابع ریاضی در سی شارپ نتیجه

 

Log of 12.48 is 1.82077301454376
Press any key to continue...

 

آموزش سی شارپ - توابع ریاضی در سی شارپ ریشه ی دوم / جذر

می توان ریشه ی مربع یک عدد مثبت اعشاری را به دست آورد. برای این منظور، کلاس Math مجهز به متدی است به نام Sqrt که دستور نحوی آن به شکل زیر می باشد.

                
public static double Sqrt(double d);

متد بالا یک آرگومان به عنوان عدد با ممیز شناور مثبت می گیرد. پس از محاسبه، متد ریشه ی مربع (جذر) x را برمی گرداند.

                
using System;
class Program
{
    static int Main()
    {
        double sqrt = 8025.73D;
        Console.WriteLine("The square root of {0} is {1}", sqrt, Math.Sqrt(sqrt));
        return 0;
    }
}

آموزش سی شارپ - توابع ریاضی در سی شارپ نتیجه

The square root of 8025.73 is 89.5864387058666
Press any key to continue...

  • 21095
  •    2590
  • تاریخ ارسال :   1394/07/27

دانلود PDF دانلود سورس کد دانلود فیلم آموزشی دانشجویان گرامی اگر این مطلب برای شما مفید بود لطفا ما را در GooglePlus محبوب کنید
رمز عبور: tahlildadeh.com یا www.tahlildadeh.com
توابع ریاضی (math) در سی شارپ
ارسال دیدگاه نظرات کاربران
شماره موبایل دیدگاه
عنوان پست الکترونیک

ارسال

آموزشگاه برنامه نویسی تحلیل داده
آموزشگاه برنامه نویسی تحلیل داده

تمامی حقوق این سایت متعلق به آموزشگاه تحلیل داده می باشد .