О генераторе случайных чисел
Все явления и процессы в обществе бывают двух типов - случайные и закономерные. Давайте-ка попробуем взглянуть на случайные процессы с ракурса программиста, о событиях, которые происходят закономерно нам и так все известно. В программировании для извлечения случайных значений придуман специальный механизм, который именуется – генератор случайных чисел. Разумеется, генерация происходит не случайным образом, все процессы взаимосвязаны на программном времени. Именно, из программного таймера и образуются эти так именуемые случайные числа. Т. е. на самом деле является верным называть такой механизм – генератор псевдослучайных чисел, хотя при алгоритмах новейших операторов результат выборки признаться выходит случайным. Все до единого события, которые есть в программировании, взаимодействуют с пользователем с помощью операторов.
Рассмотрим их подробнее.
Функции rand, srand
В программировании на языке С (си) большую роль играет регистр, поэтому в ущерб привлекательности данного подзаголовка, имена операторов начинаются с прописной буквы. Из этого вытекает, что нужно гнаться за точностью, а не за картинкой. Для того, что бы генератор случайных чисел выдавал нам случайное значение – применяется функция rand. Применение нашей функции лучше будет показать на примере: int g = rand();
На текущемпримере хорошо видно, что результатом функции является целочисленный результат. Случайное значение изменяется в диапазоне от нуля до константы, причем эта константа инициализируется в директиве, где находится этот оператор. Попробуйте запустить программу, которая выводит случайное значение на экран, только ни один, а несколько раз. Но, к сожалению, результат, при любом запуске, будет каждый раз появляется одно и то же значение. Дело в том, что при компиляции программы, существующая функция rand отлажила в памяти определенное программное время и при старте всегда обращается именно к этому времени. Мозговитые программисты смогли найти решение данной ситуациии придумали оператор srand. Его функциональность очень легкая – при любом обращении программы к функции rand, обнулять системный таймер. Получается, что данный оператор каждый раз будет обращаться к текущему времени, которое, понятное дело, каждый раз меняется (секунды все-таки бьются).
Функция random
Вообще-то, предвидущих изученных функций хватает, что бы написать различной сложности приложения, использующие генератор случайных чисел. Оператор random введен не так давно, причем в программировании на языке си ++. Он заключает в себе несколько усовершенствований: вырос диапазон значений; процесс получения случайных чисел стал идеальным.
генератор случайных чисел
программировании на языке си
функция random