Автор Панкова Екатерина задал вопрос в разделе Другие языки и технологии
Для чего в VB используются функции Rnd и Randomize? и получил лучший ответ
Ответ от Ewe 2e¶ CoЛнЫшКоcBeTиТоЧеНЬяРкО*[гуру]
Rnd - выдать случайное число (точнее псевдослучайное) .
А этот randomize используется для как бы случайного встряхивания функции, чтобы все время не выдавались одни и те же как бы случайные числа функцией rnd.
А используется это для статистической обработки, например, или казино какое-нибудь написать.
Ответ от Globe[гуру]
Как Вы знаете, во многоих программах требуются случайные числа. Для их получения используются так называемые генераторы случайных чисел. Генераторы, как правило, выдают последовательности случайных чисел, равномерно распределенных на интервале [0,1].
Случайные числа, подчиненные другим законам распределения, могут быть получены из сгенерированной последовательности путем решения уравнения F(x)=a, где F - функция распределения моделируемой случайной величины, a - сгенерированная случайная величина, x - искомое значение моделируемой случайной величины.
В качестве генераторов могут выступать как физические приборы, так и реализации неких математических алгоритмов. Физические методы используются реже, математические чаще. Правда, в последнем случае генерируются не случайные, а псевдослучайные числа - так как используются детерминированные алгоритмы - зато не требуется в компьютер добавлять специализированные компоненты, которые, как и прочее оборудование, имеют ненулевую стоимость, подвержены деградации и т. п.
Среди математических алгоритмов широко используются так называемые мультипликативные датчики случайных чисел. В них очередное псевдослучайное число получается из предыдущего по формуле:
X(n+1) = ( M * X(n) ) mod N
Здесь M и N - достаточно большие числа.
Нетрудно заметить, что для работы такого алгоритма требуется:
а) некое начальное значение X(0)
б) серия последовательных вызовов процедуры, использующей вышеприведенную формулу.
Так вот, функция Randomize как раз задает это некое начальное значение (обычно с использованием текущего времени) , а функция Rnd - расчитывает очередное псевдослучайное число.
Как Вы знаете, во многоих программах требуются случайные числа. Для их получения используются так называемые генераторы случайных чисел. Генераторы, как правило, выдают последовательности случайных чисел, равномерно распределенных на интервале [0,1].
Случайные числа, подчиненные другим законам распределения, могут быть получены из сгенерированной последовательности путем решения уравнения F(x)=a, где F - функция распределения моделируемой случайной величины, a - сгенерированная случайная величина, x - искомое значение моделируемой случайной величины.
В качестве генераторов могут выступать как физические приборы, так и реализации неких математических алгоритмов. Физические методы используются реже, математические чаще. Правда, в последнем случае генерируются не случайные, а псевдослучайные числа - так как используются детерминированные алгоритмы - зато не требуется в компьютер добавлять специализированные компоненты, которые, как и прочее оборудование, имеют ненулевую стоимость, подвержены деградации и т. п.
Среди математических алгоритмов широко используются так называемые мультипликативные датчики случайных чисел. В них очередное псевдослучайное число получается из предыдущего по формуле:
X(n+1) = ( M * X(n) ) mod N
Здесь M и N - достаточно большие числа.
Нетрудно заметить, что для работы такого алгоритма требуется:
а) некое начальное значение X(0)
б) серия последовательных вызовов процедуры, использующей вышеприведенную формулу.
Так вот, функция Randomize как раз задает это некое начальное значение (обычно с использованием текущего времени) , а функция Rnd - расчитывает очередное псевдослучайное число.
Ответ от Денис Акимкин[гуру]
Объяснили 🙂
randomize - грубо говоря инициализация генератора случайных чисел
rnd - получение следующего числа из последовательности.
Объяснили 🙂
randomize - грубо говоря инициализация генератора случайных чисел
rnd - получение следующего числа из последовательности.
Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Для чего в VB используются функции Rnd и Randomize?