Форма входа
Категории раздела
Комплектующие [11]
Безопасность [6]
Цифровые товары [0]
ПО [21]
Графика [0]
3D Графика, PhotoShop.
Главная » Статьи » Компьютеры » ПО

ГЕНЕРАТОР СЛУЧАЙНЫХ ЧИСЕЛ И ФУНКЦИИ
Генератор случайных чисел

Перед тем что бы понять принцип работы генератора случайных чисел, давайте прежде ответим на поставленный вопрос: «Чем по сути являются случайные числа?» На практике это продемонстрировать просто: цифры, которые лезут в голову, разом воспроизводить вслух. Для воплощения случайных чисел на компьютере применяют генератор случайных чисел. Правда этот генератор выдает псевдослучайные числа, т.е. числа сгенерированные не наобум, а завязанные на определенном алгоритме. В основном данный алгоритм базируется на системном таймере, а именно на микросекундах, при помощи которых и образуются случайные числа.

Для получения случайных чисел, в большинстве языков программирования – как старых, так и новых – существуют специальные операторы, которые выполняются по одному и тому же алгоритму, но, возможно, называются по разному. На ресурсе по программированию на языках c sharp и си показывается пример генератора случайных чисел на с. Так что давайте-ка рассмотрим основные операторы вызова случайных цифр.

Функция rand

Функция rand выдает любое неотрицательное значение от нуля до заданной константы, которая объявлена в подключаемом файле. Можно, естественно, и менять разрешенные интервалы значений. Поэтому надо применять математические операции: деление, умножение, вычитание, сложение.

Функция srand

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

Функция random

Оператор random является всего лишь небольшой доработкой оператора rand. Ее интервал значений в разы превосходит оператор rand, что позволяет оперировать громадными величинами, а так же изменен алгоритм образования случайных чисел. т.е. функция rand работала с миллисекундами, а оператор random имеет возможность взаимодействовать с микросекундами. Поэтому псевдослучайные значения при использовании оператора могут вполне значиться случайными. Данные знания старайтесь закреплять практикой в программировании на си.
Об Авторе: www.mir-koda.ru

Категория: ПО | Добавил: zxc (14.07.2010)
Просмотров: 1814 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Друзья сайта
На сайте ucoztime - всегда в наличии шаблоны для ucoz, шаблоны dle, смайлы для вашего сайта, иконки для форума, модули dle, ранги для ucoz и скрипты для ucoz!
Статистика
Поиск

© 2010 i-bi.ru Информация для правообладателей
Хостинг от uCoz сайтмап
Все материалы размещенные на сайте пренадлежат их владельцам и предоставляются исключительно в ознакомительных целях.
Администрация ответственности за содержание материала не несет и убытки не возмещает.
По истечении 24 часов материал должен быть удален с вашего компьютера.