1. Руководство по встроенному языку
  2. Прочие объекты встроенного языка
0

Генератор случайных чисел

Начиная с платформы 1С:Предприятие 8.1 появился новый программный объект ГенераторСлучайныхЧисел. С его помощью можно получить псевдо-случайное число в заданном диапазоне (от 0 до 2^32 максимум) и использовать его в других алгоритмах. Делается это очень просто:

//создаем новый генератор случайных чисел
ГЕН = Новый ГенераторСлучайныхЧисел();
//генерируем 10 случайных чисел
Для Инд = 1 По 10 Цикл
    //получаем случайное число в диапазоне от 0 до 100 включительно
    Сообщить(ГЕН.СлучайноеЧисло(0, 100));
КонецЦикла;

Для большинства задач, этого может быть достаточно, однако, могут быть свои нюансы: если Вы инициализируете несколько генераторов случайных чисел одним и тем же числом, то последовательность случайных чисел, выдаваемых ими, будет совпадать. Например:

//два разных генератора случайных чисел
ГЕН_1 = Новый ГенераторСлучайныхЧисел(1024);
ГЕН_2 = Новый ГенераторСлучайныхЧисел(1024);
//выдадут одно и то же число
Сообщить("ГЕН_1: " + ГЕН_1.СлучайноеЧисло(0, 100));
Сообщить("ГЕН_2: " + ГЕН_2.СлучайноеЧисло(0, 100));

Чтобы такого не происходило, инициализируйте генератор случайных чисел без параметров или заботьтесь о том, чтобы эти параметры различались.

Дополнение от 30 сентября 2022: начиная с версии платформы 8.3.22 улучшены алгоритмы генерации случайных чисел: теперь даже для объектов, инициализированных одним и тем же числом, генератор будет выдавать различные цифры.

Читайте также:

  1. Как получить массив случайных чисел?

Поделиться страницей в соц.сетях

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *