Описание функции


Random

Генерирует псевдо-случайное число с плавающей точкой.

Random([Min=0[,Max=1[,Flag=0]]])

Параметры

Min [необязательный] Наименьшее генерируемое число. По умолчанию 0.
Max [необязательный] Наибольшее генерируемое число. По умолчанию 1.
Flag [необязательный] Определяет возвращаемое число
0 - (по умолчанию) Возвращает число с плавающей точкой
1 - Возвращает только целые числа.

Возвращаемое значение

Успех:Возвращает псевдо-случайное число с плавающей точкой из промежутка [Min;Max). Если Flag = 1 - из промежутка [Min;Max]
Ошибка:Возвращает 0 и устанавливает @error равным 1 при неправильных параметрах.

Примечания

Если функции передан только один параметр - он будет интерпретирован как Max.

Результат будет в диапазоне от минимального до максимального ВКЛЮЧИТЕЛЬНО при использовании целых чисел (немного меньше максимального при использовании с плавающей точкой).

При использовании целых чисел Max-Min должны быть меньше 2^31.


Комментарии из оригинальных источников

Эта функция использует генератор случайных чисел Вихрь Мерсенна, MT19937, написанный Макото Мацумото, Такудзи Нисимура, Shawn Cokus, Matthe Bellew и Isaku Wada.

Вихрь Мерсенна является алгоритмом генерации случайных чисел. Он был разработан, учитывая недостатки других вариантов генераторов. Период равный 219937-1, порядок пространственного эквираспространения, 623 измерения, являются значительно высокими. Также генератор быстр; это избавляет от умножения и деления, и преимущество от кэша и конвейера. Дополнительную информацию можете посмотреть на странице разработчиков http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html


Copyright (C) 1997 - 2002, Макото Мацумото и Такудзи Нисимура, все права защищены.

Распространение и использование в исходников и бинарных форм, с модификацией или без неё, разрешены при соблюдении следующих условий:

1. При повторном распространении исходного кода должно оставаться указанное выше уведомление об авторском праве, этот список условий и последующий отказ от гарантий.

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

3. Имена разработчиков алгоритма не могут быть использованы для поддержки или продвижения программ, основанных на этом алгоритме без предварительного письменного разрешения.

ЭТА ПРОГРАММА ПРЕДОСТАВЛЯЕТСЯ ВЛАДЕЛЬЦАМИ АВТОРСКИХ ПРАВ И РАЗРАБОТЧИКАМИ "КАК ЕСТЬ" БЕЗ КАКОГО-ЛИБО ВИДА ГАРАНТИЙ, ВЫРАЖЕННЫХ ЯВНО ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ИМИ, ПОДРАЗУМЕВАЕМЫЕ ГАРАНТИИ КОММЕРЧЕСКОЙ ЦЕННОСТИ И ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ. НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ ВЛАДЕЛЕЦ АВТОРСКИХ ПРАВ НЕ НЕСЕТ ОТВЕТСТВЕННОСТИ ЗА ПРЯМЫЕ, КОСВЕННЫЕ, СЛУЧАЙНЫЕ, СПЕЦИАЛЬНЫЕ, ШТРАФНЫЕ, ИЛИ ПОСЛЕДОВАВШИЕ УБЫТКИ (ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ, ПРИОБРЕТЕНИЕ ЗАМЕНЯЮЩИХ ТОВАРОВ ИЛИ УСЛУГ; ПОТЕРЮ ДАННЫХ ИЛИ ПРИБЫЛИ; ИЛИ ПРИОСТАНОВЛЕНИЕ БИЗНЕСА) НЕЗАВИСИМО ОТ УСЛОВИЙ ИХ ВОЗНИКНОВЕНИЯ И ОТ ЛЮБОЙ ТЕОРИИ НАСТУПЛЕНИЯ ОТВЕТСТВЕННОСТИ, НЕЗАВИСИМО ОТ КОНТРАКТА, ОБЪЕКТИВНОЙ ОТВЕТСТВЕННОСТИ, ИЛИ ПРАВОНАРУШЕНИЯ (ВКЛЮЧАЯ НЕБРЕЖНОСТЬ ИЛИ ИНЫЕ ПРИЧИНЫ) ВОЗНИКАЮЩИЕ ИЗ-ЗА ИСПОЛЬЗОВАНИЯ ДАННОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ, ДАЖЕ ЕСЛИ БЫЛО ИЗВЕЩЕНО О ВОЗМОЖНОСТИ ВОЗНИКНОВЕНИЯ ТАКИХ УБЫТКОВ.

Функцию можно подключить через команду exect

Примеры:
 Как создать кнопку?

; i!i!i!i!i!i!i!i!i!i!i!i!i!i!i!i!i! Комментарий i!i!i!i!i!i!i!i!i!i!i!i!i!i!i!i!i!
Random(0,1,1) ;; возвращает значения 0 или 1
Random(-10,10,1) ;; генерирует целое между -10 и 10
Chr(Random(Asc('A'),Asc('Z'),1)) ;; случайная буква
; i!i!i!i!i!i!i!i!i!i!i!i!i!i!i!i!i!i!i!i!i!i!i!i!i!i!i!i!i!i!i!i!i!i!i!i!i!i!i!i!i!i!i!i!i!i!i!i!

exect=$var_ss=Chr(Random(Asc('A'),Asc('Z'),1)) GLOBALEXECT<a> ;; случайная буква из диапазона A-Z

exect=Execute(_StringDuplication('Random(0,9,1)&',100)&'Null') GLOBALEXECT<a> ;; получить строку случайных цифр, длина строки 100


© Аверин Андрей для Total Commander Image  Averin-And@yandex.ru