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




 

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

47460. Строительство многопрофильного культурно-спортивного комплекса Минск-Арена расположена в северо-восточной части г. Минска 531.5 KB
  Технические решения, принятые на стройгенплане, соответствуют требованиям экологических, санитарно-гигиенических и противопожарных норм и правил и обеспечивают безопасное для жизни и здоровья людей производство строительно-монтажных работ при соблюдении предусмотренных проектом мероприятий.
47461. ХРЕСТОМАТІЯ З ФІЛОСОФІЇ ПРАВА 990 KB
  Истина о праве, согласно легистской гносеологии, дана в законе, выражающем волю, позицию, мнение законодателя (суверена, государства). Поэтому искомое истинное знание о праве носит здесь характер мнения, хотя и официально-властного мнения
47462. Англійська мова: Підручник для 11 класу середніх шкіл 812.06 KB
  The right to education in Ukraine is guaranteed by the Constitution (Article 53). Every boy or girl must get Hecondary education; it means that secondary education is compulsory in our country. There are state schools where education is free of charge and private primary and- secondary schools where pupils have to pay for their studies
47463. ЛИНЕЙНО-КАБЕЛЬНЫЕ СООРУЖЕНИЯ 718 KB
  К таким основным решениям относятся: прокладка методом задувки диэлектрических оптических в пластмассовых защитных трубках внутренний диаметр от 32 мм до 40 мм; прокладка над пластмассовыми защитными трубками или над бронированными оптическими кабелями сигнальноинформационных пластиковых лент; максимальное использование в качестве трубопроводов кабельной канализации труб из полиэтилена высокой плотности гладкие и гофрированные многоканальных блоков мультиканалы и смотровых устройств из пластиката; использование при соответствующем...
47464. Решение геометрических задач, как средство развития самостоятельности мышления учащихся 134 KB
  Они должны не просто знакомиться с теорией предмета а видеть источники возникновения и практическую целесообразность изучения этих вопросов не просто решать задачу указанную учителем приобретая нужные навыки и умения а рассматривать условия в которых возникают задачи данного типа. Решение математических задач приобретает единую учебнопознавательную направленность в том случае когда оно реализует решение одной и той же дидактической задачи изучения математической закономерности на основе анализа частных случаев. Первые описываются...
47465. СТРАТЕГІЧНЕ УПРАВЛІННЯ. НАВЧАЛЬНИЙ ПОСІБНИК 1.01 MB
  Розглянуто основні питання стратегічного управління: сучасна концепція стратегічного управління; види стратегій підприємства; формування стратегічного набору; форми та методи забезпечення стратегічного управління. 2004 ВСТУП Ринкова економіка формує нові вимоги до підприємства що обумовлюються не тільки наявністю конкуренції та високими вимогами до якості товарів але й необхідністю гнучко реагувати на зміни ринкової ситуації яка не завжди сприяє процвітанню підприємства. Успіх підприємства залежить від здатності передбачати й змінювати...
47466. Питання для іспиту «Митне право україни» 641.5 KB
  Керівництво збиранням прикордонного мита: евеки вивізне та інфуки ввізне мито за часи Богдана Хмельницького покладалося на Державний скарб як тоді називалася фінансовобанківська служба України. Верховна Рада прийняла Закон України Про митну справу в Україні який проголосив що Україна як суверенна держава самостійно створює власну митну систему і здійснює митну справу. Верховна Рада України прийняла Постанову про створення Державного митного комітету України як центрального митного органу України та перший Митний кодекс України.
47467. Політекономія. Тарнавський М.П, Навчально-методичний посібник 2.54 MB
  Ця наука вивчає ринкову поведінку людей при використанні обмежених ресурсів виробництва що породжує за умов приватної власності економічну конкуренцію між ними. Другий факт: економічні ресурси засоби для виробництва благ обмежені. Задоволення їх обмежено рідкістю ресурсів для виробництва засобів їх задоволення. Непрямі інструментні чи виробничі використовуються для виробництва прямого блага.