• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Sign in to follow this  
Followers 0
NameException

Gerar Numeros Aleatórios

11 posts in this topic

Boas, ppl....

Tou a desenvolver uma aplicação em VB, para simular o sorteio do euromilhões, mas não estou a conseguir gerar numeros aleatórios..... Alguem me pode dar uma dica?

0

Share this post


Link to post
Share on other sites

Aqui vai:

Pega nos segundos do "time system" e multiplica por um número aleatóreo, criando assim um verdadeiro número aleatóreo

Private Sub Command1_Click()

    seconds = Right(Time$, 2)

    'Podes tirar o Int() e ficas com

    'um número com casas decimais

    Random_Number = Int(Rnd * seconds)

End Sub

0

Share this post


Link to post
Share on other sites

Private Sub Command1_Click()

    Randomize Timer

    Random_Number = Int(Rnd * seconds)

End Sub

Penso que isto faz o mesmo

0

Share this post


Link to post
Share on other sites

Aqui fica a minha sugestão (dps posto o meu code do euromilhoes)

Dim a As Double
a = Int(Rnd * 3) + 1
Text1.Text = a

A Função Int() faz com que o nº se transforme em inteiro sem regras de arredondamento, isto é, 9,6 não ficará 10, mas sim 9 para ficar inteiro segundo as regras de arredondamento terias de usar a função Round()

O (Rnd * 3) + 1 que dizer que vai ser gerado um nº aleatório entre 0 e 2 penso eu, como 0 nao pode ser solução e é até 3 entao 0+1= 1, 1+1=2, 2+1 = 3, ou seja, o +1 é para que os valores fiquem entre 1 e 3 ;)

Rnd é uma "sigla" usada para gerar nºs aleatórios :biggrin:

Hope i've helped u

0

Share this post


Link to post
Share on other sites

  Assim  gera um numero aleatório, mas eu kero gerar entre 5 e 12 numeros, mas não tenho forma de guardar esses numeros temporariamente e depois listá-los... Haverá algo parecido com Array's ou Vectores em VB 6, como em Java? Ou como é que posso guardar os valores?

0

Share this post


Link to post
Share on other sites

  Assim  gera um numero aleatório, mas eu kero gerar entre 5 e 12 numeros, mas não tenho forma de guardar esses numeros temporariamente e depois listá-los... Haverá algo parecido com Array's ou Vectores em VB 6, como em Java? Ou como é que posso guardar os valores?

Há Arrays e Vectores :P

http://www.portugal-a-programar.pt/index.php?showtopic=2589

0

Share this post


Link to post
Share on other sites

Para gerares nºs aleatorios podes usar apenas estas duas instruções

randomize timer

x=int(rnd*49)+1 para sortear de 1 a 49

depois podes criar um array do tipo boolean em que basicamente verificas se o nº que ele deu já saiu ou não para isso basta fazeres isso

a(x).value=true

if a(x).value=true then

sorteia outro nº

else

a(x)=true

msgbox x ou outro output qq

endif

0

Share this post


Link to post
Share on other sites

Aqui fica a minha sugestão (dps posto o meu code do euromilhoes)

Dim a As Double
a = Int(Rnd * 3) + 1
Text1.Text = a

A Função Int() faz com que o nº se transforme em inteiro sem regras de arredondamento, isto é, 9,6 não ficará 10, mas sim 9 para ficar inteiro segundo as regras de arredondamento terias de usar a função Round()

O (Rnd * 3) + 1 que dizer que vai ser gerado um nº aleatório entre 0 e 2 penso eu, como 0 nao pode ser solução e é até 3 entao 0+1= 1, 1+1=2, 2+1 = 3, ou seja, o +1 é para que os valores fiquem entre 1 e 3 :)

Rnd é uma "sigla" usada para gerar nºs aleatórios :biggrin:

Hope i've helped u

a função round n funciona correctamente pk penso ser arredondamentos para outros países... o que quero dizer é, quando o falor é 9,3, o valor arredonda para 9... se o valor for 9,7, arredonda para 10... MAS se o valor for 9,5 o valor arredonda para 9, o que para nós está incorrecto, o que costumo fazer é adicionar 0,1 ao valor inicial para corrigir este erro e funciona correctamente :)

0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0