Arduino:Справочник языка Arduino/Функции/Генераторы случайных значений/random(): различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
м (Замена текста — «<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">» на «<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">»)
 
Нет описания правки
 
(не показаны 3 промежуточные версии 2 участников)
Строка 8: Строка 8:
== Синтаксис ==
== Синтаксис ==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
random(max)
random(max)
random(min, max)
random(min, max)
Строка 15: Строка 15:
== Параметры ==
== Параметры ==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
min: нижняя граница случайных значений, включительно. (опционально)
min: нижняя граница случайных значений, включительно. (опционально)
max: верхняя граница случайных значений, не включительно.
max: верхняя граница случайных значений, не включительно.
Строка 32: Строка 32:
== Пример ==
== Пример ==


<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">
long randNumber;
long randNumber;
   
   
Строка 62: Строка 62:


<references />
<references />
{{Навигационная таблица/Портал/Arduino}}
[[Категория:Справочник языка Arduino]]
[[Категория:Справочник языка Arduino]]

Текущая версия от 11:28, 8 июля 2023

Проверка/Оформление/Редактирование: Мякишев Е.А.


random()

Функция random() возвращает псевдослучайное число.

Синтаксис

random(max)
random(min, max)

Параметры

min: нижняя граница случайных значений, включительно. (опционально)
max: верхняя граница случайных значений, не включительно.

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

Случайное число между min и max-1 (long)

Замечание по использованию

Если при каждом запуске программы необходимо получать разные последовательности значений, генерируемых функцией random(), то необходимо инициализировать генератор псевдослучайных чисел со случайным параметром. Например, можно использовать значение, отдаваемое функцией analogRead() c неподключенного порта вход/выхода.

В некоторых случаях необходимо получать одинаковую последовательность при каждом запуске программы на Arduino. В этом случае инициализировать генератор псевдослучайных чисел следует вызовом функции randomSeed() с фиксированным параметром.

Пример

long randNumber;
 
void setup(){
  Serial.begin(9600);
 
  // если порт 0 неподключен, то генератор псевдослучайных чисел
  // будет инициализироваться функцией randomSeed() со случайного
  // значения при каждом запуске программы из-за "шума" на порту
  randomSeed(analogRead(0));
}
 
void loop() {
  // выводим случайное число из диапазона 0..299
  randNumber = random(300);
  Serial.println(randNumber); 
 
  // выводим случайное число из диапазона 0..19
  randNumber = random(10, 20);
  Serial.println(randNumber);
 
  delay(50);
}

См.также

Внешние ссылки