Слайд 2Операции над числами
В языке C# существует большой набор математических операций для преобразования
![Операции над числами В языке C# существует большой набор математических операций для](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/925745/slide-1.jpg)
числовых значений. В языке C# существует специальная библиотека, которая содержит большой набор функций для работы с числами.
Слайд 3Math
константы - PI, E;
тригонометрические функции - Sin, Cos, Tan;
обратные тригонометрические функции -
![Math константы - PI, E; тригонометрические функции - Sin, Cos, Tan; обратные](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/925745/slide-2.jpg)
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
![Константы - PI, E PI - 3,14159265358979 E - 2,71828182845905](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/925745/slide-3.jpg)
Слайд 5Константы - PI, E
double p = Math.PI;
double e = Math.E;
Console.WriteLine(p); // 3,14159265358979
Console.WriteLine(e);
![Константы - PI, E double p = Math.PI; double e = Math.E;](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/925745/slide-4.jpg)
// 2,71828182845905
Console.ReadLine();
Слайд 6Тригонометрические функции - Sin, Cos, Tan
Cos(double d): возвращает косинус угла d
Sin(double d):
![Тригонометрические функции - Sin, Cos, Tan Cos(double d): возвращает косинус угла d](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/925745/slide-5.jpg)
возвращает синус угла d
Tan(double d): возвращает тангенс угла d
Слайд 7Тригонометрические функции - Sin, Cos, Tan
double p = Math.PI / 6;
double s
![Тригонометрические функции - Sin, Cos, Tan double p = Math.PI / 6;](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/925745/slide-6.jpg)
= 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. Параметр
![Обратные тригонометрические функции - ASin, ACos, ATan Acos(double value): возвращает арккосинус value.](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/925745/slide-7.jpg)
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 =
![Обратные тригонометрические функции - ASin, ACos, ATan double arcs = Math.Asin(1); double](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/925745/slide-8.jpg)
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
![Гиперболические функции - Tanh, Sinh, Cosh Sinh(double value): возвращает гиперболический синус угла](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/925745/slide-9.jpg)
value): возвращает гиперболический тангенс угла value
Cosh(double value): возвращает гиперболический косинус угла value
Слайд 11Гиперболические функции - Tanh, Sinh, Cosh
double sh = Math.Cosh(1);
double ch = Math.Sinh(1);
double
![Гиперболические функции - Tanh, Sinh, Cosh double sh = Math.Cosh(1); double ch](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/925745/slide-10.jpg)
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): возвращает основание натурального
![Экспонента и логарифмические функции - Exp, Log, Log10 Exp(double d): возвращает основание](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/925745/slide-11.jpg)
логарифма, возведенное в степень 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
![Экспонента и логарифмические функции - Exp, Log, Log10 double e = Math.E;](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/925745/slide-12.jpg)
= 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): возвращает абсолютное значение для
![Модуль, корень, знак - Abs, Sqrt, Sign Abs(double value): возвращает абсолютное значение](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/925745/slide-13.jpg)
аргумента 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 =
![Модуль, корень, знак - Abs, Sqrt, Sign double abs = Math.Abs(-12); double](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/925745/slide-14.jpg)
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): возвращает наименьшее целое число с
![Функции округления - Ceiling, Floor, Round Ceiling(double value): возвращает наименьшее целое число](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/925745/slide-15.jpg)
плавающей точкой, которое не меньше 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
![Функции округления - Ceiling, Floor, Round double c = Math.Ceiling(2.47); double r](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/925745/slide-16.jpg)
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): возвращает
![Минимум, максимум, степень, остаток - Min, Max, Pow Min(double a, double b):](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/925745/slide-17.jpg)
минимальное число из 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
![Минимум, максимум, степень, остаток - Min, Max, Pow double min = Math.Min(1,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/925745/slide-18.jpg)
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Случайные числа
Генерация случайных чисел требуется во многих приложениях. Часто бывает так что
![Случайные числа Генерация случайных чисел требуется во многих приложениях. Часто бывает так](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/925745/slide-19.jpg)
в программе используется некоторый элемент случайности. В C# для этого используется случайный класс Random.
Слайд 21Класс Random
Для генерации случайных чисел нужно создать переменную данного класса. Делается это
![Класс Random Для генерации случайных чисел нужно создать переменную данного класса. Делается](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/925745/slide-20.jpg)
несколько особенным способом:
Random rn = new Random();
Здесь создана переменная с именем rn. С помощью нее и можно будет в дальнейшем генерировать случайные числа.
Слайд 22Генерация целых чисел.
Для генерации целых чисел используется команда Next, которая имеет несколько
![Генерация целых чисел. Для генерации целых чисел используется команда Next, которая имеет](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/925745/slide-21.jpg)
вариаций:
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 =
![Генерация целых чисел. Random rn = new Random(); int r1 = rn.Next();](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/925745/slide-22.jpg)
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,
![Генерация вещественных чисел. Для генерации вещественных чисел можно использовать ту же команду](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/925745/slide-23.jpg)
с использованием некоторых дополнительных арифметических операций:
Random rn = new Random();
double d = rn.Next(100) / 100.0;
Console.WriteLine(d); // 0,34
Console.ReadLine();
Слайд 25Генерация вещественных чисел.
Так же для генерации случайных вещественных чисел используется специальную, предназначенную
![Генерация вещественных чисел. Так же для генерации случайных вещественных чисел используется специальную,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/925745/slide-24.jpg)
для этого команду:
NextDouble() - выдает вещественные положительные числа в диапазоне [0, 1);
Слайд 26Генерация вещественных чисел.
Random rn = new Random();
double d = rn.NextDouble();
Console.WriteLine(d); // 0,279956102967242
Console.ReadLine();
![Генерация вещественных чисел. Random rn = new Random(); double d = rn.NextDouble(); Console.WriteLine(d); // 0,279956102967242 Console.ReadLine();](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/925745/slide-25.jpg)
Слайд 27Пример
Random rn = new Random();
Console.WriteLine("случайные числа в диапазоне[0,1)");
for (int i = 1;
![Пример Random rn = new Random(); Console.WriteLine("случайные числа в диапазоне[0,1)"); for (int](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/925745/slide-26.jpg)
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();