Генерирует псевдо-случайное число с плавающей точкой.
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. Имена разработчиков алгоритма не могут быть использованы для поддержки или продвижения программ, основанных на этом алгоритме без предварительного письменного разрешения.
ЭТА ПРОГРАММА ПРЕДОСТАВЛЯЕТСЯ ВЛАДЕЛЬЦАМИ АВТОРСКИХ ПРАВ И РАЗРАБОТЧИКАМИ "КАК ЕСТЬ" БЕЗ КАКОГО-ЛИБО ВИДА ГАРАНТИЙ, ВЫРАЖЕННЫХ ЯВНО ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ИМИ, ПОДРАЗУМЕВАЕМЫЕ ГАРАНТИИ КОММЕРЧЕСКОЙ ЦЕННОСТИ И ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ. НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ ВЛАДЕЛЕЦ АВТОРСКИХ ПРАВ НЕ НЕСЕТ ОТВЕТСТВЕННОСТИ ЗА ПРЯМЫЕ, КОСВЕННЫЕ, СЛУЧАЙНЫЕ, СПЕЦИАЛЬНЫЕ, ШТРАФНЫЕ, ИЛИ ПОСЛЕДОВАВШИЕ УБЫТКИ (ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ, ПРИОБРЕТЕНИЕ ЗАМЕНЯЮЩИХ ТОВАРОВ ИЛИ УСЛУГ; ПОТЕРЮ ДАННЫХ ИЛИ ПРИБЫЛИ; ИЛИ ПРИОСТАНОВЛЕНИЕ БИЗНЕСА) НЕЗАВИСИМО ОТ УСЛОВИЙ ИХ ВОЗНИКНОВЕНИЯ И ОТ ЛЮБОЙ ТЕОРИИ НАСТУПЛЕНИЯ ОТВЕТСТВЕННОСТИ, НЕЗАВИСИМО ОТ КОНТРАКТА, ОБЪЕКТИВНОЙ ОТВЕТСТВЕННОСТИ, ИЛИ ПРАВОНАРУШЕНИЯ (ВКЛЮЧАЯ НЕБРЕЖНОСТЬ ИЛИ ИНЫЕ ПРИЧИНЫ) ВОЗНИКАЮЩИЕ ИЗ-ЗА ИСПОЛЬЗОВАНИЯ ДАННОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ, ДАЖЕ ЕСЛИ БЫЛО ИЗВЕЩЕНО О ВОЗМОЖНОСТИ ВОЗНИКНОВЕНИЯ ТАКИХ УБЫТКОВ.
$StockPrice=98 ; В середине игрового симулятора фондовой биржи $StockPriceChange=Random(-10,10,1); генерируем целое между -10 и 10 $StockPrice=$StockPrice+$StockPriceChange If$StockPriceChange<0Then MsgBox(4096,"Фондовое изменение","Ваши акции опустились в $"&$StockPrice) ElseIf$StockPriceChange>0Then MsgBox(4096,"Фондовое изменение","Ваши акции поднялись $"&$StockPrice) Else MsgBox(4096,"Фондовое изменение","Ваши акции остались $"&$StockPrice) EndIf EndFunc