Слайд 2Операции над числами
В языке C# существует большой набор математических операций для преобразования
числовых значений. В языке C# существует специальная библиотека, которая содержит большой набор функций для работы с числами.
Слайд 3Math
константы - PI, E;
тригонометрические функции - Sin, Cos, Tan;
обратные тригонометрические функции -
ASin, ACos, ATan;
гиперболические функции - Tanh, Sinh, Cosh;
экспоненту и логарифмические функции - Exp, Log, Log10;
модуль, корень, знак - Abs, Sqrt, Sign;
функции округления - Ceiling, Floor, Round;
минимум, максимум, степень, остаток - Min, Max, Pow.
Слайд 4Константы - PI, E
PI - 3,14159265358979
E - 2,71828182845905
Слайд 5Константы - PI, E
double p = Math.PI;
double e = Math.E;
Console.WriteLine(p); // 3,14159265358979
Console.WriteLine(e);
// 2,71828182845905
Console.ReadLine();
Слайд 6Тригонометрические функции - Sin, Cos, Tan
Cos(double d): возвращает косинус угла d
Sin(double d):
возвращает синус угла d
Tan(double d): возвращает тангенс угла d
Слайд 7Тригонометрические функции - Sin, Cos, Tan
double p = Math.PI / 6;
double s
= Math.Sin(p);
double c = Math.Cos(p);
double t = Math.Tan(p);
Console.WriteLine(s); // 0,5
Console.WriteLine(c); // 0,866025403784439
Console.WriteLine(t); // 0,577350269189626
Console.ReadLine();
Слайд 8Обратные тригонометрические функции - ASin, ACos, ATan
Acos(double value): возвращает арккосинус value. Параметр
value должен иметь значение от -1 до 1
Asin(double value): возвращает арксинус value. Параметр value должен иметь значение от -1 до 1
Atan(double value): возвращает арктангенс value
Слайд 9Обратные тригонометрические функции - ASin, ACos, ATan
double arcs = Math.Asin(1);
double arcc =
Math.Acos(1);
double arct = Math.Atan(1);
Console.WriteLine(arcs); // 1,5707963267949
Console.WriteLine(arcc); // 0
Console.WriteLine(arct); // 0,785398163397448
Console.ReadLine();
Слайд 10Гиперболические функции - Tanh, Sinh, Cosh
Sinh(double value): возвращает гиперболический синус угла value
Tanh(double
value): возвращает гиперболический тангенс угла value
Cosh(double value): возвращает гиперболический косинус угла value
Слайд 11Гиперболические функции - Tanh, Sinh, Cosh
double sh = Math.Cosh(1);
double ch = Math.Sinh(1);
double
th = Math.Tanh(1);
Console.WriteLine(sh); // 1,54308063481524
Console.WriteLine(ch); // 1,1752011936438
Console.WriteLine(th); // 0,761594155955765
Console.ReadLine();
Слайд 12Экспонента и логарифмические функции - Exp, Log, Log10
Exp(double d): возвращает основание натурального
логарифма, возведенное в степень d
Log(double d): возвращает натуральный логарифм числа d
Log(double d, double newBase): возвращает логарифм числа d по основанию newBase
Log10(double d): возвращает десятичный логарифм числа d
Слайд 13Экспонента и логарифмические функции - Exp, Log, Log10
double e = Math.E;
double exp
= Math.Exp(1);
double log = Math.Log(e);
double log2 = Math.Log(4, 2);
double log10 = Math.Log10(1000);
Console.WriteLine(exp); // 2,71828182845905
Console.WriteLine(log); // 1
Console.WriteLine(log2); // 2
Console.WriteLine(log10); // 3
Console.ReadLine();
Слайд 14Модуль, корень, знак - Abs, Sqrt, Sign
Abs(double value): возвращает абсолютное значение для
аргумента value
Sqrt(double value): возвращает квадратный корень числа value
Sign(double value): возвращает число 1, если число value положительное, и -1, если значение value отрицательное. Если value равно 0, то возвращает 0
Слайд 15Модуль, корень, знак - Abs, Sqrt, Sign
double abs = Math.Abs(-12);
double sqrt =
Math.Sqrt(9);
double sign = Math.Sign(-7);
Console.WriteLine(abs); // 12
Console.WriteLine(sqrt); // 3
Console.WriteLine(sign); // -1
Console.ReadLine();
Слайд 16Функции округления - Ceiling, Floor, Round
Ceiling(double value): возвращает наименьшее целое число с
плавающей точкой, которое не меньше value
Floor(decimal d): возвращает наибольшее целое число, которое не больше d
Round(double d): возвращает число d, округленное до ближайшего целого числа
Слайд 17Функции округления - Ceiling, Floor, Round
double c = Math.Ceiling(2.47);
double r = Math.Round(9.5);
double
f = Math.Floor(3.7);
Console.WriteLine(c); // 3
Console.WriteLine(r); // 10
Console.WriteLine(f); // 3
Console.ReadLine();
Слайд 18Минимум, максимум, степень, остаток - Min, Max, Pow
Min(double a, double b): возвращает
минимальное число из a и b
Max(double a, double b): возвращает максимальное число из a и b
Pow(double a, double b): возвращает число a, возведенное в степень b
Слайд 19Минимум, максимум, степень, остаток - Min, Max, Pow
double min = Math.Min(1, 5);
double
max = Math.Max(1, 5);
double pow = Math.Pow(3, 2);
Console.WriteLine(min); // 1
Console.WriteLine(max); // 5
Console.WriteLine(pow); // 9
Console.ReadLine();
Слайд 20Случайные числа
Генерация случайных чисел требуется во многих приложениях. Часто бывает так что
в программе используется некоторый элемент случайности. В C# для этого используется случайный класс Random.
Слайд 21Класс Random
Для генерации случайных чисел нужно создать переменную данного класса. Делается это
несколько особенным способом:
Random rn = new Random();
Здесь создана переменная с именем rn. С помощью нее и можно будет в дальнейшем генерировать случайные числа.
Слайд 22Генерация целых чисел.
Для генерации целых чисел используется команда Next, которая имеет несколько
вариаций:
Next() - метод без параметров выдает целые положительные числа во всем положительном диапазоне типа int;
Next(int max) - выдает целые положительные числа в диапазоне [0, max);
Next(int min, int max) - выдает целые положительные числа в диапазоне [min, max).
Слайд 23Генерация целых чисел.
Random rn = new Random();
int r1 = rn.Next();
int r2 =
rn.Next(20);
int r3 = rn.Next(25, 40);
Console.WriteLine(r1); // 2080124162
Console.WriteLine(r2); // 13
Console.WriteLine(r3); // 26
Console.ReadLine();
Слайд 24Генерация вещественных чисел.
Для генерации вещественных чисел можно использовать ту же команду Next,
с использованием некоторых дополнительных арифметических операций:
Random rn = new Random();
double d = rn.Next(100) / 100.0;
Console.WriteLine(d); // 0,34
Console.ReadLine();
Слайд 25Генерация вещественных чисел.
Так же для генерации случайных вещественных чисел используется специальную, предназначенную
для этого команду:
NextDouble() - выдает вещественные положительные числа в диапазоне [0, 1);
Слайд 26Генерация вещественных чисел.
Random rn = new Random();
double d = rn.NextDouble();
Console.WriteLine(d); // 0,279956102967242
Console.ReadLine();
Слайд 27Пример
Random rn = new Random();
Console.WriteLine("случайные числа в диапазоне[0,1)");
for (int i = 1;
i <= 5; i++)
{
Console.WriteLine("Число " + i + " = " + rn.NextDouble());
}
int min = -100, max = -10;
Console.WriteLine("случайные числа в диапазоне [" + min + "," + max + "]");
for (int i = 1; i <= 5; i++)
{
Console.WriteLine("Число " + i + " = " + rn.Next(min, max));
}
Console.ReadLine();