Возвращает псевдослучайное число в диапазоне от 0 до 1.

RAND([nSeedValue])

Параметры

nSeedValue
Задает некое "стартовое" значение, инициирующее последовательность значений, возвращаемых функцией RAND( ). Функция RAND( ) каждый раз будет возвращать одну и ту же последовательность псевдослучайных чисел, если вы будете задавать одно и то же стартовое значение параметра nSeedValue при первом её вызове, а при последующих вызовах функции RAND( ) параметр опускать. Если значение  nSeedValue при первом вызове функции RAND() отрицательное, стартовое значение будет создано на основе показания системных часов. Для получения максимально случайного набора значений первый раз вызывайте функцию RAND() с параметром, имеющим отрицательное значение, а последующие разы при вызове RAND() не указывайте параметр. Если вы опустите параметр nSeedValue при первом вызове функции RAND(), будет использовано значение по умолчанию, равное 100,001.

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

Числовое

Примеры

Первый из приведенных ниже примеров показывает использование функции RAND( ) для создания таблицы из 10 записей, содержащих случайные значения, а затем функции MIN( ) и MAX( ) для получения минимального и максимального значений в таблице.

Второй пример показывает получание псевдослучайного числа в диапазоне между 1 и 10.

  Скопировать код
CLOSE DATABASES
CREATE TABLE Random (cValue N(3))
FOR nItem = 1 TO 10 && Добавление 10 записей
APPEND BLANK
REPLACE cValue WITH 1 + 100 * RAND( ) && Вставка случайного значения
ENDFOR

CLEAR
LIST && Отображение значений
gnMaximum = 1 && Инициализация минимального значения
gnMinimum = 100 && Инициализация максимального значения
SCAN
gnMinimum = MIN(gnMinimum, cValue)
gnMaximum = MAX(gnMaximum, cValue)
ENDSCAN
? 'The minimum value is: ', gnMinimum && Отображение минимального значения
? 'The maximum value is: ', gnMaximum && Отображение максимального значения

CLEAR
gnLower = 1
gnUpper = 10

? INT((gnUpper - gnLower + 1) * RAND( ) + gnLower)

См.также