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