Случайный#

Введение#

Стандартная библиотека C++ предоставляет функции для генерации псевдослучайных чисел. Их можно использовать в VEXcode IQ для задач, требующих изменчивости или случайности.

Функции#

Библиотека <cstdlib> включает следующие функции:

  • rand — Возвращает случайное целое число.

  • srand — Устанавливает начальное значение генератора случайных чисел.

rand#

Возвращает случайное целое число от 0 до 2 147 483 647.

Available Functions
int rand();

Parameters

Эта функция не принимает никаких параметров.

Return Values

Возвращает случайное целое число от 0 до 2 147 483 647.

Notes
  • Для возврата случайного целого числа в пределах заданного диапазона используйте шаблон rand() % max.

  • Для возврата случайного целого числа в заданном диапазоне используйте шаблон rand() % (max - min + 1) + min.

Examples
// Display a random number
Brain.Screen.print("%d", rand());

// Display a random number between 0 and 100
Brain.Screen.print("%d", rand() % 101);

// Display a random number between 5 and 10
Brain.Screen.print("%d", rand() % (10 - 5 + 1) + 5);

srand#

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

Available Functions
void srand( unsigned int seed );

Parameters

Параметр

Тип

Описание

seed

unsigned int

Начальное значение посевного числа.

Return Values

Эта функция не возвращает значения.

Notes
  • Вызовите функцию rand только один раз, в начале проекта, перед вызовом функции randНет необходимости вызывать ее перед каждым вызовом функции srand.

  • Если вызов srand никогда не происходит, программа ведет себя так, как если бы был использован srand(1) Это означает, что rand каждый раз при запуске проекта выдает одну и ту же последовательность чисел.

  • Чтобы получать разные результаты при каждом запуске проекта, задайте начальное значение, которое меняется между запусками, например, таймер мозга.

  • Чтобы каждый раз получать одинаковые результаты (полезно для тестирования), задайте начальное значение фиксированного числа, например, srand(1).

Examples
// Use the same seed for random number
srand(5);
Brain.Screen.print("%d", rand() % 100);