Willekeurig#

Invoering#

De C+±standaardbibliotheek biedt functies voor het genereren van pseudo-willekeurige getallen. Deze kunnen in VEXcode V5 worden gebruikt voor gedragingen die variabiliteit of toeval vereisen.

Functies#

De <cstdlib> bibliotheek bevat de volgende functies:

  • rand — Geeft een willekeurig geheel getal terug.

  • srand — Stelt de willekeurige zaadwaarde in.

rand#

Geeft een willekeurig geheel getal terug tussen 0 en 2.147.483.647.

Available Functions
int rand();

Parameters

Deze functie accepteert geen parameters.

Return Values

Geeft een willekeurig geheel getal terug tussen 0 en 32767.

Notes
  • Om een ​​willekeurig geheel getal binnen een exclusieve limiet te retourneren, gebruikt u het patroon rand() % max.

  • Om een ​​willekeurig geheel getal binnen een specifiek bereik te retourneren, gebruikt u het patroon 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#

Stelt de seed in die gebruikt zal worden door de pseudo-willekeurige getallengenerator in de rand functie.

Available Functions
void srand( unsigned int seed );

Parameters

Parameter

Type

Beschrijving

seed

unsigned int

De startwaarde van het zaad.

Return Values

Deze functie retourneert geen waarde.

Notes
  • Bel rand slechts één keer, aan het begin van uw project, voordat u randbelt. U hoeft het niet voor elke srand te bellen.

  • Als srand nooit wordt aangeroepen, gedraagt ​​het programma zich alsof srand(1) is gebruikt. Dit betekent dat rand elke keer dat het project wordt uitgevoerd dezelfde reeks getallen produceert.

  • Om bij elke uitvoering van het project andere resultaten te krijgen, begin je met een waarde die tussen de uitvoeringen verandert, zoals de Brain’s timer.

  • Om elke keer dezelfde resultaten te krijgen (handig voor testen), begin je met een vast getal, bijvoorbeeld srand(1).

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