Генератор случайных чисел.
Полное описание, параметры и ограничения
ГенераторСлучайныхЧисел (RandomNumberGenerator)
ГенераторСлучайныхЧисел (RandomNumberGenerator)
Доступен, начиная с версии 8.1.
Методы:
СлучайноеЧисло (RandomNumber)
Конструкторы:
По умолчанию
Формирование неинициализированного объекта
Описание:
Генератор случайных чисел.
Доступность:
Тонкий клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
Использование в версии:
Доступен, начиная с версии 8.1.
Методическая информация
Практические примеры
Получить повторяемые учебные количества для теста
Два генератора с одним начальным числом создают одинаковые последовательности. Это помогает воспроизводить ошибку в учебном тесте.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Все значения учебные и создаются в памяти; документы, регистры и рабочие данные не изменяются.
Выполняйте на сервере учебной базы. Представление десятичного разделителя в сообщениях зависит от локали.
Первый = Новый ГенераторСлучайныхЧисел(12345);
Второй = Новый ГенераторСлучайныхЧисел(12345);
Для Номер = 1 По 5 Цикл
Значение1 = Первый.СлучайноеЧисло(1, 6);
Значение2 = Второй.СлучайноеЧисло(1, 6);
Если Значение1 <> Значение2 Тогда
ВызватьИсключение "Одинаковые начальные числа дали разные последовательности";
КонецЕсли;
Если Значение1 < 1 Или Значение1 > 6 Тогда
ВызватьИсключение "Значение вне заданного диапазона";
КонецЕсли;
Сообщить(СтрШаблон("%1: %2 = %3", Номер, Значение1, Значение2));
КонецЦикла;Разбор по шагам
Создаём два независимых генератора с фиксированным начальным числом 12345.
Каждому задаём включённый диапазон целых чисел от 1 до 6.
Делаем одинаковое число вызовов и сравниваем соответствующие значения.
Проверяем границы результата; конкретные пять значений заранее не зашиваем в урок.
Как проверить результат
Пять пар равны, каждое значение целое от 1 до 6.
Повторный запуск на той же версии платформы с тем же начальным числом воспроизводит последовательность.
Добавьте один вызов Первого перед циклом: последовательности сдвинутся и проверка равенства может остановить тест.
Ожидаемый результат
Получена повторяемая последовательность небольших учебных количеств.
На что обратить внимание
Генератор не предназначен для паролей, токенов, криптографических ключей или финансового розыгрыша.
Не считайте точную последовательность постоянным межверсионным контрактом.
Верхняя и нижняя границы включены; заданные значения должны быть целыми и допустимыми для метода.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.