Генератор случайных чисел
Перед тем что бы понять принцип поведения генератора случайных чисел, прежде ответим на поставленный вопрос: «А что же такое случайные числа?» На практике это продемонстрировать несложно: цифры, которые попадают в голову, сразу проговаривать вслух. Для воплощения случайных чисел на компьютере применяют генератор случайных чисел. В действительности этот генератор выдает псевдослучайные числа, т.е. значения сгенерированные не наобум, а завязанные на определенном алгоритме. Как правило этот алгоритм завязан на системный таймер, точнее на микросекундах, при помощи которых и образуются случайные числа.
В каждом языке программирования новом или старом существуют свои функции в целях получения случайных цифр, притом они, возможно, имеют различные имена, но все равно выполнится по похожему сценарию. На сайте по программированию на языках c sharp и с показывается пример генератора случайных чисел на с. Так что давайте-ка рассмотрим основные функции для вызова случайных цифр.
Функция rand
Оператор rand выдает любое неотрицательное значение от нуля до установленной константы, которая объявлена в подключаемом программном файле. Позволено, конечно же, и изменять допустимые значений. Поэтому необходимо использовать обычные операции: сложение, умножение, деление, вычитание.
Функция srand
Если вы вдруг опробовали работу функции rand и запустили несколько раз созданную программу, то к вашему изумлению цифры всякий раз были полностью одинаковыми. Ответ кроется как раз в самой функции rand, которая, при компиляции запускаемого файла в программу, запоминает программное время. В следствие чего, при генерации случайного числа в алгоритме будет задействовано то же самое значение времени. Т.е. что не меняй, но будет все тоже значение при любом старте программы. Для решения проблемы программисты используют оператор srand, который в момент запуска оператора rand, обращается к текущему системному времени, что позволяет иметь каждый раз результат.
Функция random
Оператор random является всего лишь небольшим усовершенствованием оператора rand. Ее диапазон результатов в несколько раз превосходит функцию rand, что позволяет работать с большими значениями, а так же изменен алгоритм появления случайных чисел. Т.е. функция rand взаимодействовала с миллисекундами, а функция random имеет возможность работать с микросекундами. Поэтому псевдослучайные значения при использовании оператора могут вполне быть случайными.Так что применяйте полученные знания в программировании на си и си шарп.
Read more on Все функции генератора случайных чисел…