Losowy#

Wstęp#

Biblioteka standardowa C++ udostępnia funkcje generowania liczb pseudolosowych. Można ich używać w VEXcode IQ w przypadku zachowań wymagających zmienności lub przypadku.

Funkcje#

Biblioteka <cstdlib> zawiera następujące funkcje:

  • rand — Zwraca losową liczbę całkowitą.

  • srand — Ustawia losowe ziarno.

rand#

Zwraca losową liczbę całkowitą z przedziału od 0 do 2 147 483 647.

Available Functions
int rand();

Parameters

Ta funkcja nie przyjmuje żadnych parametrów.

Return Values

Zwraca losową liczbę całkowitą z przedziału od 0 do 2 147 483 647.

Notes
  • Aby zwrócić losową liczbę całkowitą w określonym zakresie, należy użyć wzorca rand() % max.

  • Aby zwrócić losową liczbę całkowitą z określonego zakresu, należy użyć wzorca 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#

Ustawia wartość ziarna, która ma być używana przez generator liczb pseudolosowych w funkcji rand.

Available Functions
void srand( unsigned int seed );

Parameters

Parametr

Typ

Opis

seed

unsigned int

Początkowa wartość ziarna.

Return Values

Ta funkcja nie zwraca wartości.

Notes
  • Wywołaj srand tylko raz, blisko początku swojego projektu, przed wywołaniem rand. Nie musisz wywoływać go co rand.

  • Jeśli srand nie zostanie nigdy wywołane, program zachowuje się tak, jakby użyto srand(1) Oznacza to, że rand generuje tę samą sekwencję liczb za każdym uruchomieniem projektu.

  • Aby uzyskać inne wyniki przy każdym uruchomieniu projektu, wprowadź wartość inicjującą, która zmienia się między uruchomieniami, na przykład Czasomierz mózgu.

  • Aby za każdym razem uzyskać takie same wyniki (co jest przydatne podczas testowania), należy wprowadzić stałą liczbę, np. srand(1).

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