A função RND() é uma função muito importante. Se você deseja criar uma saudação aleatória, uma solicitação aleatória para um encontro ou até mesmo um jogo, você vai querer usar esta função
Função ASP rnd()
A função rnd() retorna um número aleatório entre 0 e 1.
Como usar:
Copie o código do código da seguinte forma:
response.write rnd() 'Valor de retorno possível: 0,2357746
Se quiser usar a função rnd() para retornar números inteiros dentro de um determinado intervalo, por exemplo, números maiores ou iguais a 0 e menores ou iguais a um limite superior de número inteiro específico, você pode usar o seguinte método:
Copie o código do código da seguinte forma:
resposta.write int((limite superior+1)*rnd)
Por exemplo, a instrução a seguir retornará um número inteiro entre 0 e 5, inclusive:
Copie o código do código da seguinte forma:
resposta.write int((5+1)*rnd)
Se quiser obter um número aleatório dentro de um determinado intervalo que tenha um limite inferior maior que 0, você pode usar o seguinte método:
Copie o código do código da seguinte forma:
resposta.write int((limite superior-inferior+1)*rnd+limite inferior)
Por exemplo, o script a seguir produz um número inteiro entre 50 e 75, inclusive:
Copie o código do código da seguinte forma:
resposta.write int((75-50+1)*rnd+50)
No entanto, há um problema. Um número aleatório é gerado, mas é sempre o mesmo número aleatório. Isso pode deixá-lo muito confuso. Existe uma instrução especial que pode ajudar a resolver esse problema: a instrução randomize.
A instrução randomize é usada para forçar a função rnd a usar uma nova sequência de números aleatórios. A instrução randomize fornece um novo valor inicial para a função rnd por meio do cronômetro do sistema do computador.
A função RND() é uma função muito importante. Se você deseja criar uma saudação aleatória, uma solicitação aleatória para um encontro ou até mesmo um jogo, você vai querer usar esta função.
A função RND() retorna um número aleatório entre 0 e 1. Aqui está um exemplo desta função e seus possíveis valores de retorno:
<%=RND()%>
0,7055643
Normalmente, você está mais interessado em usar esta função para retornar um número inteiro dentro de um determinado intervalo. Para retornar um número maior ou igual a 0, mas menor que um número inteiro específico, você pode usar a seguinte instrução:
<%=INT((limite superior+1)*RND)%>
Substitua a expressão limite superior pelo maior número aleatório que você deseja gerar. Por exemplo, o script a seguir retorna um número entre 0 e 5, inclusive:
<%=INT(5+1)*RND)%>
Se quiser gerar um número aleatório dentro de um intervalo que tenha um limite inferior maior que 0, você pode usar o seguinte script:
<%=INT((limite superior – limite inferior + 1)*RND+limite inferior)%>
Por exemplo, o script a seguir gera um número aleatório entre 50 e 75 (inclusive):
<%=INT((75-50+1)*RND+50)%>
Você pode ficar surpreso ao saber que sempre que você usa a função RND(), ela retorna os mesmos números aleatórios na mesma ordem. Considere o seguinte exemplo:
Copie o código do código da seguinte forma:
<%
Pick_Greeting=INT((2+1)*RND)
SELECIONE CASO Pick_Greeting
CASO 0
Saudação=”Bem-vindo!”
CASO 1
Saudação=”Olá!”
CASO 2
Saudação=”Feliz em ver você!”
FIM SELEÇÃO
%>
<%=Saudação%>
Este script cria e imprime uma saudação aleatória. Porém, é possível que não funcione da maneira que você imagina. Sempre que alguém baixar uma página da web contendo este script, a mesma saudação aleatória será impressa. Se alguém retornar a esta página várias vezes, receberá a mesma saudação. Um número aleatório é gerado, mas é sempre o mesmo número aleatório.
Existe uma declaração especial que ajuda com esse problema. A instrução RANDOMIZE é usada para forçar a função RND() a usar uma nova sequência de números aleatórios. A instrução RANDOMIZE fornece um novo valor inicial para funcionar RND() através do temporizador do sistema do computador. O exemplo a seguir mostra como modificar o exemplo acima para que funcione corretamente:
Copie o código do código da seguinte forma:
<%
ALEATÓRIO
Pick_Greeting=INT((2+1)*RND)
SELECIONE CASO Pick_Greeting
CASO 0
Saudação=”Bem-vindo!”
CASO 1
Saudação=”Olá!”
CASO 2
Saudação=”Feliz em ver você!”
FIM SELEÇÃO
%>
<%=Saudação%>
Este script funciona corretamente. Cada vez que este script for executado, uma nova saudação aleatória será gerada. A instrução RANDOMIZE força a função RND() a usar uma nova sequência de números aleatórios.
Por fim, se você está curioso sobre a distribuição dos valores produzidos pela função RND(), você pode determiná-la com o seguinte script:
Copie o código do código da seguinte forma:
<%
Limite superior CONST = 9, iterações = 100
REDIM DIST (limite superior)
ALEATÓRIO
FOR i=1 para iterações
rnd_num=INT((limite superior+1)*RND)
DIST(rnd_num)=DIST(rnd_num)&”#”
PRÓXIMO
FOR i=0 para limite superior
%>
<%=i&” : “&DIST(i)%><BR>
<%
PRÓXIMO
%>
Este script gera 100 números aleatórios entre 0 e 9. Ele controla quantos números aleatórios são gerados para cada valor. Por fim, imprime um gráfico de barras representando os resultados.