Ir para conteúdo
Fórum Script Brasil
  • 0

Numero Aleatorio


ramon

Pergunta

4 respostass a esta questão

Posts Recomendados

  • 0

Sim. Veja que você manda ele gerar números de 0 a 10 e depois soma 7 aos mesmos. Quando sair um 10 e você soma 7 você obterá 17. Quando sair um 7 e você somar o outro 7 você terá 14. E assim por diante.

Só há como especificar o máximo ao utilizar Rnd(), por isso o ideal seria fazer:

    a = 0
    While a < 7
        a = Int(Rnd() * 12)
    Wend
    Debug.Print a

Enquanto o número for menor que 7 ele gerar outros. E, como coloquei *12 é garantido que o número não passará de 11.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Bom eu vi um exemplo no help do VB 5 que fala assim:


Este exemplo utiliza a função Rnd para gerar um valor inteiro aleatório de 1 a 6.

Dim MeuValor
MeuValor = Int((6 * Rnd) + 1)	' Gera um valor aleatório entre 1 e 6.

Bom então esta errado la no help traduzido.

Da uma olhada wink.gif

E no seu exemplo só ta gerando o numero 8 sad.gif

Link para o comentário
Compartilhar em outros sites

  • 0
Bom eu vi um exemplo no help do VB 5 que fala assim:


Este exemplo utiliza a função Rnd para gerar um valor inteiro aleatório de 1 a 6.

Dim MeuValor
MeuValor = Int((6 * Rnd) + 1)	' Gera um valor aleatório entre 1 e 6.

Bom então esta errado la no help traduzido.

Da uma olhada wink.gif

E no seu exemplo só ta gerando o numero 8 sad.gif

Não, não há nada de errado com o exemplo. Rnd() * 6 gerará sempre de 0 até 5 e se você somar +1 sempre, terá:

0+1 = 1

1+1 = 2

2+1 = 3

3+1 = 4

4+1 = 5

5+1 = 6

Ou seja, só terá de 1 até 6, de fato. O problema é que você quer começar de um número maior do que 1. Note que se você quiser de 2 até 6, por exemplo, a regra acima não vale. E o mesmo se dará com qualquer número maior que 1. Acho que você ainda não pegou o espírito da coisa.

Quanto ao meu exemplo, ele não gera só o número 8. O que pode estar ocorrendo é estar gerando os mesmos números a cada vez que você executa, o que pode ser sanado com o uso de Randomize (antes do uso de Rnd()).

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...