Atsitiktinis#

Įvadas#

C++ standartinė biblioteka teikia funkcijas pseudoatsitiktiniams skaičiams generuoti. Jas galima naudoti VEXcode V5 versijoje, kai reikia kintamumo arba atsitiktinumo.

Funkcijos#

<cstdlib> bibliotekoje yra šios funkcijos:

  • rand — Grąžina atsitiktinį sveikąjį skaičių.

  • srand — Nustato atsitiktinę sėklą.

rand#

Grąžina atsitiktinį sveikąjį skaičių nuo 0 iki 2 147 483 647.

Available Functions
int rand();

Parameters

Ši funkcija nepriima jokių parametrų.

Return Values

Grąžina atsitiktinį sveikąjį skaičių nuo 0 iki 32767.

Notes
  • Norėdami grąžinti atsitiktinį sveikąjį skaičių neviršijant išskirtinės ribos, naudokite šabloną rand() % max.

  • Norėdami grąžinti atsitiktinį sveikąjį skaičių konkrečiame diapazone, naudokite šabloną 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#

Nustato pradinę reikšmę, kurią naudos pseudoatsitiktinių skaičių generatorius funkcijoje rand.

Available Functions
void srand( unsigned int seed );

Parameters

Parametras

Tipas

Aprašymas

seed

unsigned int

Pradinė sėklos vertė.

Return Values

Ši funkcija negrąžina reikšmės.

Notes
  • srand iškvieskite tik vieną kartą, beveik projekto pradžioje, prieš iškviečiant randJums nereikia jo iškviesti prieš kas rand.

  • Jei srand niekada nekviečiama, programa elgiasi taip, lyg būtų naudota srand(1) Tai reiškia, kad rand kiekvieną kartą vykdant projektą sukuria tą pačią skaičių seką.

  • Norėdami gauti skirtingus rezultatus kiekvieną kartą vykdant projektą, įveskite reikšmę, kuri kinta tarp paleidimų, pvz., Brain’s timer.

  • Norint kaskart gauti tuos pačius rezultatus (naudinga testavimui), įveskite fiksuotą skaičių, pvz., srand(1).

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