Извините, вы уже голосовали за эту статью!
0       12345 0 голосов
Ø
Жалоба:
 
Есть причина пожаловаться?

Статья добавлена 22 августа 2009, в субботу, в 10:46. С того момента...

3088
просмотров
0 добавлений в избранное
1 комментарий

Представлена в разделах:



Top 5 àвтора:

Генератор случайных чисел - узнаем теорию

Автор: ertyuo
Тема:

Сообщение:
 
Написать автору
 

Все технические моменты, которые нужно знать о генераторе случайных чисел, обсуждаются в данной статье. Так же приведены основные функции, которые используются при его создании.

Про генератор случайных чисел

Все события и процессы в мире бывают закономерные и случайные. Давайте-ка попытаемся взглянуть на случайные процессы с точки зрения программиста, ведь о событиях, которые происходят закономерно нам все известно. В языке программирования для получения случайных чисел разработан специализированный механизм, который называется – генератор случайных чисел. Все события завязаны на системном таймере, поэтому, его генерация действует не случайным образом. Случайные числа как раз и образуются исходя из данного системного таймера. Поэтому верно будет называть этот механизм – генератор псевдослучайных чисел,хотя при алгоритмах современных функций результат извлечения действительно оказывается случайным. Все процессы, которые существуют в программировании, взаимодействуют с пользователем по средством операторов. Посмотрим на них по подробнее.

Функции rand, srand

В программировании на языке С большую роль играет регистр, соответственно в ущерб привлекательности данного заголовка, имена операторов написаны с прописной буквы. Из этого вытекает, что нужно гнаться за точностью, а не за картинкой. В программировании за выбор случайных чисел отвечает оператор rand. Взглянем на примере, как нам надо использовать функцию:int c = rand();

Т.е. как вы видите из указанногопримера, функция rand возвращает целое значение. Причем диапазон данного числа изменяется от нуля до константы, которая задается в подключаемой директиве, содержащей оператор. Ну а теперь можно и запустить несколько раз текущую программу, которая будет выводить на монитор случайное значение. К сожалению, результат, при каждом запуске, будет каждый раз выводится одно и то же значение. При компиляции программы, эта функция rand отлажила в памяти определенное системное время и при запуске всегда обращается к этому времени. Но и для решенияэтой проблемы мозговитые программисты разработали оператор srand. Обязанность данной функции очень простая– если мы обращаемся к функции rand, то системный таймер обнуляется. В результате чего, перед каждым обращением к текущему оператору rand, системное время обнуляется, следовательно мы будем получать разные значение.

Функция random

На самом деле, предвидущих двух операторов достаточно, что б создать любой сложности программы, требующие генератор случайных чисел. Наконец, в язык программирования си ++ внедрили оператор random. Он включает в себя пару усовершенствований: увеличен диапазон результатов; процесс получения случайных чисел стал идеальным.

 
 
 
 

Ответов пока нет.

Комментàрии  — 1


Анонимно   13 г. назад

ты это сча с кем разговаривал?

Ответить
Сообщение:
Пожалуйста, подождите!
Комментарий: