3956

Класс Random и его функции

Доклад

Информатика, кибернетика и программирование

Класс Random и его функции Умение генерировать случайные числа требуется во многих приложениях. Класс Random содержит все необходимые для этого средства. Класс Random имеет конструктор класса: для того, чтобы вызывать методы класса, нужно вначале со...

Русский

2012-11-10

63.6 KB

2 чел.

Класс Random и его функции

Умение генерировать случайные числа требуется во многих приложениях. Класс Random

содержит все необходимые для этого средства. Класс Random имеет конструктор класса: для

того, чтобы вызывать методы класса, нужно вначале создавать экземпляр класса. Этим

Random отличается от класса Math, у которого все поля и методы – статические, что

позволяет обойтись без создания экземпляров класса Math.

Как и всякий “настоящий” класс, класс Random является наследником класса Object, а,

следовательно, имеет в своем составе и методы родителя. Рассмотрим только оригинальные

методы класса Random со статусом public, необходимые для генерирования

последовательностей случайных чисел. Начнем рассмотрение с конструктора класса. Он

перегружен и имеет две реализации. Одна из них позволяет генерировать неповторяющиеся

при каждом запуске серии случайных чисел. Начальный элемент такой серии строится на

основе текущей даты и времени, что гарантирует уникальность серии. Этот конструктор

вызывается без параметров. Он описан как 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].

пример работы со случайными числами

/// <summary>

/// Эксперименты с классом Random

/// </summary>

public void Rand()

{

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) );

}

// случайный массив байтов

byte[] bar = new byte[10];

repeatRnd.NextBytes(bar);

Console.WriteLine(“Массив случайных чисел в диапазоне

[0, 255]“);

for(int i =0; i < 10; i++)

{

Console.WriteLine(“Число ” + i + “= ” +bar[i]);

}

}//Rand

Вначале создаются два объекта класса Random. У этих объектов разные конструкторы.

Объект с именем realRnd позволяет генерировать неповторяющиеся серии случайных чисел.

Объект repeatRnd дает возможность повторить при необходимости серию. Метод NextDouble

создает серию случайных чисел в диапазоне [0, 1). Вызываемый в цикле метод Next с двумя

параметрами создает серию случайных положительных целых, равномерно распределенных

в диапазоне [-100, -10]. Метод NextBytes объекта repeatRnd позволяет получить при одном

вызове массив случайных чисел из диапазона [0, 255]. Результаты вывода можно увидеть на

рис. 7.2.

Рис. 7.2. Генерирование последовательностей случайных чисел в процедуре Rand




 

А также другие работы, которые могут Вас заинтересовать

21502. ИНФУЗИОННО-ТРАНСФУЗИОННАЯ ТЕРАПИЯ ПРИ КРИТИЧЕС 24.5 KB
  Влияние инфузионной терапии на организм. Методы и техника проведения инфузионной терапии. Техническое обеспечение инфузионной терапии. Осложнения инфузионной терапии.
21503. Инфузионно-трансфузионная терапия при критических состояниях 136 KB
  Ее развитие определялось прежде всего уровнем научных разработок по изучению электролитного состава крови для поддержания ионного равновесия плазмы придания ей коллоидных и питательных свойств и создания в конечном итоге оптимальных по составу кровезамещающих растворов пригодных для терапии тех или иных заболеваний. Поэтому в это время появляются ряд новых препаратов созданных на основе солевых растворов с добавлением гомогенной или обработанной физическими или химическими методами гетерогенной плазмы крови жидкость Петрова сыворотка...
21504. Коррекция нарушений водно-солевого обмена 263 KB
  Скорость внутривенного введения К не более 20 ммоль ч 1 г КCl соответствует 136 ммоль К; при более быстром введении возникает опасность остановки сердца. Концентрация Na в плазме крови становится выше 147 ммоль л точно отражает дефицит свободной воды.массу тела кг 142 где сNaпл концентрация Na в плазме крови больного ммоль л; 142 концентрация Na в плазме крови ммоль л в норме; 06 60 содержание всей воды в организме по отношению к массе телал. Изотоническая дегидратация означает истинный дефицит Na в организме так как...
21505. ИНЖЕНЕРНО-ТЕХНИЧЕСКОЕ И МЕТРОЛОГИЧЕСКОЕ ОБЕСПЕЧЕНИЕ СРЕДСТВ ИЗМЕРЕНИЙ АППАРАТОВ ИСКУССТВЕННОЙ ВЕНТИЛЯЦИИ ЛЕГКИХ И ИНГАЛЯЦИОННОГО НАРКОЗА 183 KB
  ЦЕЛЕВОЕ НАЗНАЧЕНИЕ ЛЕКЦИИ: представить данные свидетельствующие значимость проблемы инженернотехнического и метрологического обеспечения средств измерений аппаратов ИВЛ ИН; ознакомить слушателей с необходимостью срочного решения проблемы в лечебных учреждениях; представить основные пути совершенствования инженернотехнического и метрологического обеспечения средств измерений аппаратов ИВЛ ИН; ознакомить с протоколом действий €œМетрологической проверки средств измерений аппаратов ИВЛ ИН. Состояние инженернотехнического и...
21506. Структурно-функциональные связи легких, воздухоносных путей и паренхимы легких 226 KB
  Структурнофункциональные связи легких воздухоносных путей и паренхимы легких 1.1 Структура воздухоносных путей паренхимы легких Механика дыхания Распределение вентиляции 2. Легочное кровообращение и его отношение к вентиляции Легочное кровообращение Вентиляционноперфузионные отношения Обмен газов и их транспорт Обмен газов в легких Транспорт газов к периферическим тканям и в обратном направлении Регуляция дыхания Основная функция легких обмен газов: поглощение кислорода из окружающей среды удаление из организма двуокиси кислорода....
21507. РЕСПИРАТОРНЫЙ ДИСТРЕСС-СИНДРОМ ВЗРОСЛЫХ 366 KB
  Этиология РДСВ.Petti описал РДСВ ARDSкак синдром острой дыхательной недостаточности характеризуемой некардиогенным отеком легких с тяжелой гипоксемией вызываемой интрапульмональным шунтированием справа налево с вторичным ателектазированием и заполнением воздушного пространства отечной жидкостью. О распостранености РДСВ дают представления следующие данные: в США частота распостранения РДСВ составляет 06 1000при этом летальность на 150000 случаев РДСВ приблизительно равна 5060 в то же время WebsterCohen и...
21508. Деполяризующий и недеполяризующий блок 41 KB
  Механизм действия Деполяризующие миорелаксанты по структуре напоминающие ацетилхолин взаимодействуют с нхолинорецепторами и вызывают потенциал действия мышечной клетки. Однако в отличие от ацетилхолина деполяризующие миорелаксанты не гидролизуются ацетилхолинэстеразой и их концентрация в синаптической щели достаточно долго не снижается что вызывает длительную деполяризацию конечной пластинки. Деполяризующие и недеполяризующие миорелаксанты Деполяризующие миорелаксанты Недеполяризующие миорелаксанты Короткого действия Длительного...
21509. МИОРЕЛАКСАНТЫ, ИХ ПРИМЕНЕНИЕ В АНЕСТЕЗИОЛОГИИ И РЕАНИМАТОЛОГИИ 186 KB
  Классификация миорелаксантов по химической структуре Дериваты изохинолина Дериваты стероидов Другие препараты Атракурий Доксакурий Метокурий Мивакурий Тубокурарин Панкуроний Пипекуроний Рокуроний Векуроний Галламин Сукцинилхолин По механизму действия миорелаксанты подразделяют на 2 класса: деполяризующие и недеполяризующие. Таблица 2 Классификация миорелаксантов по механизму и длительности действия Деполяризующие Недеполяризующие Короткого действия сукцинилхолин дитилин декаметоний мивакурий мивакрон Средней продолжительности атракурий...
21510. НОВЫЕ ФАРМАКОЛОГИЧЕСКИЕ СРЕДСТВА И МЕТОДЫ ПРИ ОКАЗАНИИ АНЕСТЕЗИОЛОГИЧЕСКОЙ ПОМОЩИ 117 KB
  ФАРМАКОЛОГИЧЕСКИЕ АСПЕКТЫ КЛИНИЧЕСКОГО ПРИМЕНЕНИЯ КЛОФЕЛИНА В АНЕСТЕЗИОЛОГИИ Клофелин клонидин синтезирован в 1962 г. Фармакологические эффекты клофелина: как агонист постсинаптических Ф2АР в ЦНС вызывает гипотензию брадикардию аналгезию седативный эффект способствует высвобождению гормонов роста. Периферическое действие клофелина проявляется в усилнии сокращений гладких мышц агрегации тромбоцитов липолизу угнетению секреции ринина и инсулина. При приеме внутрь абсорбция клофелина составляет практически 100.