-
Класс Math и его функции
Содержащий стандартные математические функции, без которых трудно обойтись при построении многих выражений.
• Этот класс содержит два статических поля, задающих константы E и PI, а также 23 статических метода.
тригонометрические функции - Sin, Cos, Tan;
• обратные тригонометрические функции — Asin, ACos, ATan, ATan2 (sinx, cosx);
• гиперболические функции - Tanh, Sinh, Cosh;
• экспоненту и логарифмические функции — Exp, Log, Log10;
• модуль, корень, знак - Abs, Sqrt, Sign;
• функции округления - Ceiling, Floor, Round;
• минимум, максимум, степень, остаток - Min, Max, Pow, IEEERemainder.
y = a*Math.Cos(b*t);
p= Math.Pow(u,v);
-
Класс Random
Класс Random имеет конструктор класса: для того, чтобы вызывать методы класса, нужно вначале создавать экземпляр класса.
Этим Random отличается от класса Math, у которого все поля и методы - статические, что позволяет обойтись без создания экземпляров класса Math.
конструктор
• Он имеет две реализации.
• Одна из них позволяет генерировать неповторяющиеся при каждом запуске серии случайных чисел. Начальный элемент такой серии строится на основе текущей даты и времени, что гарантирует уникальность серии. Этот конструктор вызывается без параметров.
Он описан как public Random().
• Другой конструктор с параметром - public Random (int) обеспечивает важную возможность генерирования повторяющейся серии случайных чисел. Параметр конструктора используется для построения начального элемента серии, поэтому при задании одного и того же значения параметра серия будет повторяться.
Перегруженный метод public int Next() при каждом вызове возвращает положительное целое, равномерно распределенное в некотором диапазоне. Диапазон задается параметрами метода.
Три реализации метода отличаются набором параметров:
• public int Next () - метод без параметров выдает целые положительные числа во всем положительном диапазоне типа int;
• public int Next (int max) - выдает целые положительные числа в диапазоне [0,max];
• public int Next (int min, int max) - выдает целые числа в диапазоне [min,max].
• Метод public double NextDouble () имеет одну реализацию. При каждом вызове этого метода выдается новое случайное число,
равномерно распределенное в интервале [0,1).
• Еще один полезный метод класса Random позволяет при одном обращении получать целую серию случайных чисел. Метод имеет параметр - массив, который и будет заполнен случайными числами. Метод описан как public void NextBytes (byte[] buffer). Так как параметр buffer представляет массив байтов, то, естественно, генерированные случайные числа находятся в диапазоне [0, 255].
• const int initRnd = 77;
• Random realRnd = new Random();
• Random repeatRnd = new Random(initRnd);
• // случайные числа в диапазоне [0,1)
• Console.WriteLine("случайные числа в диапазоне[0,1)");
• for(int i =1; i <= 5; i++)
• { Console.WriteLine("Число " + i + "= " + realRnd.NextDouble() ); }
• // случайные числа в диапазоне[min,max]
int min = -100, max=-10;
Console.WriteLine("случайные числа в диапазоне ["+ min +"," + max + "]");
for (int i = 1; i <= 5; i++)
{ Console.WriteLine("Число " + i + "= " + realRnd.Next(min, max)); }
Операторы языка C#
-
Присваивания
присваивание формально считается операцией. Вместе с тем запись:
X = expr; следует считать настоящим оператором присваивания.
-
Условный
if(выражение_1) оператор_1
else if(выражение_2) оператор_2
...
else if(выражение_K) оператор_K
else оператор_N
-
Выбора
switch(выражение)
{
case константное_выражение_1:
[операторы_1 оператор_перехода_1]
...
case константное_выражение_K:
[операторы_K оператор_перехода_K]
[default: операторы_N
оператор_перехода_N] }
-
Цикла
for(инициализаторы; условие;
список_выражений) оператор
while(выражение) оператор
do
оператор
while(выражение);
foreach(тип идентификатор in контейнер) оператор