|

random()


Description :

La fonction aléatoire génère des nombres pseudo-aléatoires.

Syntaxe :

Utilisez la fonction suivante pour générer un nombre aléatoire :

random(max)
random(min, max)

Paramètres :

La fonction admet les paramètres suivants :

  • min : limite inférieure de la valeur aléatoire, incluse (facultatif)
  • max : limite supérieure de la valeur aléatoire, exclusif

Retours :

La fonction renvoie un nombre aléatoire compris entre min et max-1.

  • Type de données : long.

Exemple de code :

Le code génère des nombres aléatoires en utilisant les différentes variantes de la fonction et les imprime dans le moniteur série.

long randNumber;

void setup() {
  Serial.begin(9600);

  // si la broche d'entrée analogique 0 n'est pas connectée, analogique aléatoire
  // le bruit provoquera l'appel à randomSeed() pour générer
  // des numéros de graines différents à chaque exécution du croquis.
  // randomSeed() mélangera ensuite la fonction aléatoire.
  randomSeed(analogRead(0));
}

void loop() {
  // imprimer un nombre aléatoire de 0 à 299
  randNumber = random(300);
  Serial.println(randNumber);

  // imprimer un nombre aléatoire de 10 à 19
  randNumber = random(10, 20);
  Serial.println(randNumber);

  delay(50);
}

Remarques et avertissements :

S’il est important qu’une séquence de valeurs générée par random() diffère, lors des exécutions suivantes d’un sketch, utilisez randomSeed() pour initialiser le générateur de nombres aléatoires avec une entrée relativement aléatoire, telle que analogRead() sur une broche non connectée.

Inversement, il peut parfois être utile d’utiliser des séquences pseudo-aléatoires se répétant exactement. Pour ce faire, appelez randomSeed() avec un nombre fixe avant de démarrer la séquence aléatoire.

Le paramètre max doit être choisi en fonction du type de données de la variable dans laquelle la valeur est stockée. Dans tous les cas, le maximum absolu est lié à la longueur de la valeur générée (32 bits – 2 147 483 647). Définir max sur une valeur plus élevée ne générera pas d’erreur lors de la compilation, mais lors de l’exécution du sketch, les nombres générés ne seront pas ceux attendus.


Source : https://docs.arduino.cc/language-reference/en/functions/random-numbers/random/

Publications similaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *