Aleatório#
Introdução#
A Biblioteca Standard C++ disponibiliza funções para gerar números pseudo-aleatórios. Estas podem ser utilizadas no VEXcode EXP para comportamentos que requerem variabilidade ou aleatoriedade.
Funções#
A biblioteca <cstdlib> inclui as seguintes funções:
rand#
Devolve um número inteiro aleatório entre 0 e 2.147.483.647.
Available Functionsint rand();
Esta função não aceita qualquer parâmetro.
Return ValuesDevolve um número inteiro aleatório entre 0 e 32767.
NotesPara devolver um número inteiro aleatório dentro de um limite único, utilize o padrão
rand() % max.Para devolver um número inteiro aleatório dentro de um intervalo específico, utilize o padrão
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#
Define a semente a utilizar pelo gerador de números pseudo-aleatórios na função rand.
void srand( unsigned int seed );
Parâmetro |
Tipo |
Descrição |
|---|---|---|
|
|
O valor inicial da semente. |
Esta função não devolve qualquer valor.
NotesChame
randapenas uma vez, perto do início do seu projeto, antes de chamarrandNão precisa de chamar antes de cadasrand.Se
srandnunca for chamado, o programa comporta-se como sesrand(1)fosse utilizado. Isto significa querandproduz a mesma sequência de números sempre que o projeto é executado.Para obter resultados diferentes a cada execução do projeto, utilize um valor inicial que mude entre execuções, como por exemplo o Temporizador do Brain.
Para obter sempre os mesmos resultados (útil para testes), utilize uma semente com um número fixo, como por exemplo
srand(1).
// Use the same seed for random number
srand(5);
Brain.Screen.print("%d", rand() % 100);