Aléatoire#
Introduction#
La bibliothèque standard C++ fournit des fonctions permettant de générer des nombres pseudo-aléatoires. Ces derniers peuvent être utilisés dans VEXcode IQ pour les comportements nécessitant une certaine variabilité ou un effet aléatoire.
Fonctions#
La bibliothèque <cstdlib> comprend les fonctions suivantes :
rand#
Renvoie un entier aléatoire compris entre 0 et 2 147 483 647.
Available Functionsint rand();
Cette fonction n’accepte aucun paramètre.
Return ValuesRenvoie un entier aléatoire compris entre 0 et 2 147 483 647.
NotesPour renvoyer un entier aléatoire dans une limite exclusive, utilisez le modèle
rand() % max.Pour renvoyer un entier aléatoire dans une plage spécifique, utilisez le modèle
rand() % (max - min + 1) + min.
// 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#
Définit la graine à utiliser par le générateur de nombres pseudo-aléatoires dans la fonction rand.
void srand( unsigned int seed );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
La valeur initiale de la graine. |
Cette fonction ne renvoie aucune valeur.
NotesAppelez
randune seule fois, au début de votre projet, avant d’appelerrandVous n’avez pas besoin de l’appeler avant chaquesrand.Si
srandn’est jamais appelée, le programme se comporte comme sisrand(1)avait été utilisée. Cela signifie querandproduira la même séquence de nombres à chaque exécution du programme.Pour obtenir des résultats différents à chaque exécution du projet, initialisez avec une valeur qui change entre les exécutions, comme le temps du cerveau.
Pour obtenir les mêmes résultats à chaque fois (utile pour les tests), initialisez avec un nombre fixe tel que
srand(1).
// Use the same seed for random number
srand(5);
Brain.Screen.print("%d", rand() % 100);