У виразах часто використовуються математичні функції. Вони реалізовані в класі Math, визначеному в просторі імен System. За допомогою методів цього класу можна обчислити:
· тригонометричні функції: Sin, Cos, Tan;
· зворотні тригонометричні функції: Asin, Acos, Atan, Atan2;
· гіперболічні функції: Tanh, Sinh, Cosh;
· експоненту і логарифмічні функції: Exp, Log, Log10;
· модуль (абсолютну величину), квадратний корінь, знак: Abs, Sqrt, Sign;
· округлення: Ceiling, Floor, Round;
· мінімум, максимум: Min, Max;
· ступінь, залишок: Pow, Ieeereminder;
· повне множення двох цілих величин: Bigmul;
· ділення і залишок від ділення: Divrem.
Крім того, у класу є два корисні поля: число і число е. Опис методів і полів приведений в таблиці 3.8.
Таблиця 3.8.
Основні поля і статичні методи класу Math
Ім'я
| Опис
| Результат
| Пояснення
|
Abs
| Модуль
| Перевантажений
| |x| записується як Abs(x)
|
Acos
| Арккосинус
| Double
| Acos(double x)
|
Asin
| Арксинус
| Double
| Asin(double x)
|
Atan
| Арктангенс
| Double
| Atan(double x)
|
Atan2
| Арктангенс
| Double
| Atan2(double x, double у) - кут, тангенс якого є ділення у на х
|
BigMul
| Множення
| Long
| BigMul (int х, int у)
|
Ceiling
| Округлення до більшого цілого
| Double
| Ceiling(double х)
|
Cos
| Косинус
| Double
| Cos(double х)
|
Cosh
| Гиперболічний косинус
| Double
| Cosh(double х)
|
DivRem
| Ділення і залишок
| Перевантажений
| DivRem(x, у, rem)
|
e
| Підстава натурального логарифма (число e)
| Double
| 2,71828182845905
|
Exp
| Експонента
| Double
| Ехр(х)
|
Floor
| Округлення до меншого цілого
| Double
| Floor(double х)
|
IEEERe-mainder
| Залишок від ділення
| Double
| IEEERemainder (double х, double у)
|
Log
| Натуральний логарифм
| Double
| Log(x)
|
Log 10
| Десятковий логарифм
| Double
| Log10(x)
|
Мах
| Максимум з двох чисел
| Перевантажений
| Max(x, y)
|
Min
| Мінімум з двох чисел
| Перевантажений
| Min(x, y)
|
π
| Значение числа π
| Double
| 3,14159265358979
|
Pow
| Піднесення до ступеня
| Double
| Pow(x, у)
|
Round
| Округлення
| Перевантажений
| Round (3.1) дасть в результаті 3, Round (3.8) дасть в результаті 4
|
Sign
| Знак числа
| Int
| Аргументи перевантажені
|
Sin
| Синус
| Double
| Sin(double х)
|
Sinh
| Гіперболічний синус
| Double
| Sinh(double х)
|
Sqrt
| Квадратний корінь
| Double
| Sqrt(x)
|
Tan
| Тангенс
| Double
| Tan(double х)
|
Tanh
| Гіперболічний тангенс
| Double
| Tanh(double х)
|
У лістингу 3.11 приведений приклад застосування двох методів класу Math.
Лістинг 3.11. Застосування методів класу Math
using System;
namespace ConsoleApplicationl
{
class Classl
{
static void Main()
{
Console.Write("Введите x:");
string buf = Console.ReadLine( );
double x = double.Parse( buf );
Console.WriteLine("Значение sin = " + Math.Sin(x) );
Console.Write("Введите y:");
buf = Console.ReadLine();
double y = double.Parse( buf );
Console.WriteLine("Максимум : " + Math.Max(x, y) );
}
}
}
Як приклад розглянемо програму розрахунку по формулі
Лістинг 3.12. Програма розрахунку по заданій формулі
using System;
namespace ConsoleApplicationl
{
class Classl
{
static void Main()
{
string buf;
Console.WriteLine( "Введите x" );
buf = Console.ReadLine();
double x = Convert.ToDouble( buf );
Console.WriteLine("Введите alfa" );
buf = Console.ReadLine();
double a = double.Parse( buf );
double y = Math.Sqrt(Math.PI * x ) - Math.Exp(0.2*Math.Sqrt(a))+
2*Math.Tan(2*a) + 1.6e3 * Math.Log10( Math.Pow(x,2));
Console.WriteLine("Для x = {0} и alfa = {1}", x, a );
Console.WriteLine("Результат = " + y );
}
}
}