Язык процедур 2-REXX для OS-2

       

RANDOM


Функция RANDOM в качестве результата возвращает псевдослучайное целое неотрицательное число в диапазоне от min до max включительно. Если указан только один аргумент, то диапазон считается от 0 до указанного числа. Значения по умолчанию для аргументов min и max - 0 и 999 соответственно. Для случайного числа в качестве третьего аргумента может быть указано специальное начальное-число (которое должно быть целым числом), если нужно получать повторяемые результаты.

Величина диапазона (т.е. max - min) не должна превышать 100000.

Ниже приведено несколько примеров: RANDOM() -> 305 RANDOM(5,8) -> 7 RANDOM(,,1983) -> 123 /* воспроизводимо */ RANDOM(2) -> 0

Замечания:

  1. Чтобы получить предсказуемую последовательность псевдослучайных чисел, используйте функцию RANDOM несколько раз, но при этом указание начального-числа требуется только при первом использовании. Например, чтобы смоделировать 40 бросков шестигранной игральной кости, можно использовать следующий фрагмент процедуры: sequence = RANDOM(1,6,12345) /* любое число может быть исполь- */ /* зовано в качестве начального */ do 39 sequence = sequence RANDOM(1,6) end say sequence

    Числа генерируются математически, используя начальное-число, так что до определенной степени их появление можно назвать случайным. Повторное выполнение программы приведет к генерации точно такой же последовательности; использование другого значения для начального-числа почти наверняка повлечет за собой генерацию другой последовательности псевдослучайных чисел.

  2. Генератор случайных чисел является глобальным для всей программы; текущее назначение начального числа не сохраняется в процессе обращений к внутренним программам.
  3. Генератор случайных чисел, используемый в действительности, может иметь отличия в различных средах применения.



Содержание раздела