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




 

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

28178. Тепловое излучение тел и его законы. Ультрафиолетовая катастрофа. Формула Планка 102 KB
  Отличительной чертой теплового излучения является то что оно возникает за счет внутренней энергии тела. Тепловое излучение имеет сплошной спектр положение максимума в спектральной кривой излучения зависит от температуры. При полном термодинамическом равновесии все части системы имеют одинаковую температуру и энергия теплового излучения испускаемого каждым телом компенсируется энергией поглощаемого этим телом теплового излучения других тел. Спектр равновесного излучения не зависит от природы вещества.
28179. Фотоэффект. Основные законы внешнего фотоэффекта. Уравнение Эйнштейна. Внутренний фотоэффект. Фотоэлементы и их применение 87.5 KB
  Фотоэффект. Основные законы внешнего фотоэффекта. Внутренний фотоэффект. Явление вырывания электронов с поверхности вещества под действием электромагнитного излучения называется внешним фотоэффектом.
28180. Поглощение (абсорбция) света веществом. Закон Бугера. Элементарная квантовая теория излучения и поглощения света. Спонтанные и вынужденные переходы. Коэффициенты Эйнштейна. Условие усиления света 165 KB
  Элементарная квантовая теория излучения и поглощения света. Условие усиления света Под действием электромагнитного поля световой волны проходящей через вещество возникают колебания электронов среды с чем связано уменьшение энергии излучения затрачиваемой на возбуждение колебаний электронов. Частично эта энергия восполняется в результате излучения электронами вторичных волн частично она может преобразовываться в другие виды энергии. Действительно опытным путем установлено а затем и теоретически доказано Бугéром что интенсивность...
28181. Лазеры. Принципиальная схема лазера. Основные структурные элементы лазера и их назначение. Типы лазеров. Основные характеристики лазеров 181 KB
  Каждому радиационному переходу между энергетическими уровнями и в спектре соответствует спектральная линия характеризующаяся частотой и некоторой энергетической характеристикой излучения испущенного для спектров испускания поглощенного для спектров поглощения или рассеянного для спектров рассеяния атомной системой. При этом распространение излучения в среде обязательно сопровождается уменьшением его интенсивности – выполняется закон Бугера где – интенсивность излучения вошедшего в вещество d – толщина слоя – коэффициент...
28182. Оптика движущихся сред. Эффект Доплера. Поперечный и продольный эффект Доплера 194 KB
  Он гласит: все физические законы независимы инвариантны по отношению к выбору инерциальной системы отсчёта. Это означает что уравнения выражающие законы физики имеют одинаковую форму во всех инерциальных системах отсчёта. Поэтому на основе любых физических экспериментов нельзя выбрать из множества инерциальных систем отсчёта какуюто главную абсолютную систему отсчёта обладающую какимилибо качественными отличиями от других инерциальных систем отсчёта. Она одинакова во всех направлениях в пространстве и во всех инерциальных системах...
28183. Поляризация света. Способы получения поляризованного света. Закон Малюса. Поляризационные призмы 238.5 KB
  Явление поляризации света было открыто Эразмусом Бартолинусом, датским учёным, в 1669 году. В своих опытах Бартолинус использовал кристаллы исландского шпата, имеющие форму ромбоэдра. Если на такой кристалл падает узкий пучок света, то, преломляясь
28184. Распространение света в изотропных средах. Отражение и преломление света на границе между диэлектриками. Основные законы геометрической оптики. Формулы Френеля 146 KB
  При этом падающий отражённый и преломленный лучи лежат в одной плоскости с перпендикуляром восстановленным к границе раздела сред в точке падения О. Углы соответственно углы падения отражения преломления волн. Амплитуду падающей волны разложим на составляющие Ер параллельную плоскости падения и Еs перпендикулярную плоскости падения. Для составляющих вектора Е перпендикулярных плоскости падения рисунок 3 выполняются условия в которых индексы при Е и p при Н опущены: .
28185. Линза как оптическая система. Аберрации линз 126 KB
  На рисунке 1 введены обозначения: a1 – расстояние от вершины первой преломляющей поверхности до осевой точки A предмета; a´1 – расстояние от вершины первой преломляющей поверхности до изображения A´ получаемого после преломления на ней; a2 – расстояние от вершины второй преломляющей поверхности до точки A´; a´2 – расстояние от вершины второй преломляющей поверхности до изображения A´´ построенного линзой. Для любой центрированной оптической системы выполняется условие Лагранжа – Гельмгольца: ...
28186. Интерференция света. Условия возникновения стационарной интерференции света. Интерференционные схемы с делением волн по фронту (опыт Юнга, зеркало Ллойда, бизеркало Френеля, бипризма Френеля). Влияние размеров источника на интерференционную картину. Усло 159 KB
  Интерференционные схемы с делением волн по фронту опыт Юнга зеркало Ллойда бизеркало Френеля бипризма Френеля. Пусть в точках А и В рисунок 1 находятся два монохроматических источника волны от которых доходят до точки наблюдения С. Взаимное усиление или ослабление двух или большего числа волн при их наложении друг на друга при одновременном распространении в пространстве называется интерференцией волн. Интерференционная картина ИК распределение интенсивностей в области волнового поля где волны налагаются друг на друга.