Função Rnd

Retorna um número aleatório.

Sintaxe

Rnd[(number)]

Comentários

O argumento number pode ser qualquer expressão numérica válida.

A função Rnd retorna um valor menor que 1, mas maior ou igual a 0. O valor do número determina como Rnd gera um número aleatório:

Tabela 11-13 Valores de Retorno da Função Rnd

Se o número for A função Rnd gerará
Menor que zero O mesmo número todas as vezes, usando o argumento number como valor implantado.
Maior que zero O próximo número aleatório na sequência.
Igual a zero O número gerado mais recentemente.
Não fornecido O próximo número aleatório na sequência.

Para qualquer valor implantado inicial, a mesma sequência de números é gerada porque cada chamada sucessiva da função Rnd usa o número anterior como valor implantado para o próximo número na sequência.

Antes de chamar a função Rnd, use a instrução Randomize sem um argumento para inicializar o gerador de números aleatórios com um valor implantado com base no temporizador do sistema.

Para produzir números inteiros aleatórios em determinado intervalo, use esta fórmula:

Int((upperbound - lowerbound + 1) * Rnd + lowerbound)

Aqui, limite superior é o número mais alto do intervalo, e limite inferior é o número mais baixo do intervalo.

Nota:

Para repetir sequências de números aleatórios, chame Rnd com um argumento negativo imediatamente antes de usar a instrução Randomize com um argumento numérico. O uso da instrução Randomize com o mesmo valor para o número não repete a sequência anterior.

Os exemplos a seguir ilustram como as funções Rnd retornam números aleatórios:

Exemplo 1:

Dim randomNumber
Randomize  ' Initialize random-number generator
randomNumber = Rnd
'Output: random number between 0 and 1

Exemplo 2:

Dim randomNumber
Randomize  ' Initialize random-number generator
randomNumber = Rnd(-1)  ' Use -1 as the seed
'Output: the same random number each time

Exemplo 3:

Dim randomNumber
Randomize  ' Initialize random-number generator
randomNumber = Rnd  ' Generate the first random number
'Output: the first random number
randomNumber = Rnd  ' Generate the next random number
'Output: the next random number

Exemplo 4:

Dim randomNumber
Randomize ' Initialize random-number generator
randomNumber = Rnd(0)  ' Generate a random number and store it
'Output: the most recently generated random number

Exemplo 5:

Dim lowerbound, upperbound, randomNumber
lowerbound = 1
upperbound = 10
Randomize  ' Initialize random-number generator
randomNumber = Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
'Output: a random integer between 1 and 10