Gerando números aleatórios
Postado por Lucio em 21 de janeiro de 2010
Vamos aprender hoje como gerar números aleatórios utilizado o VB.NET de um jeito fácil e rápido utilizando a classe Random.
Bem, vamos ao projeto!
1. Abra o Visual Studio e crie um novo projeto do tipo Windows Forms Application.
2. Renomeie o projeto para NumeroRandomico.
3. Coloque os seguintes controles em seu form:
· (5x) Label
· (5x) TextBox
· (1x) Button
4. Edite as seguintes propriedades dos controles, conforme a tabela:
| CONTROLE | NAME | TEXT |
| TextBox1 | txtNumeroAleatorio1 | <Em branco> |
| TextBox2 | txtNumeroAleatorio2 | <Em branco> |
| TextBox3 | txtNumeroAleatorio3 | <Em branco> |
| TextBox4 | txtNumeroAleatorio4 | <Em branco> |
| TextBox5 | txtNumeroAleatorio5 | <Em branco> |
| Label1 | lblGrupo1 | Grupo 1 |
| Label2 | lblGrupo2 | Grupo 2 |
| Label3 | lblGrupo3 | Grupo 3 |
| Label4 | lblGrupo4 | Grupo 4 |
| Label5 | lblGrupo5 | Grupo 5 |
| Button1 | btnExecutar | Executar |
| Form1 | frmPrincipal | Gerador de números aleatórios |
5. Organize-os da seguinte forma:

6. Importe a seguinte classe no início do projeto:
Imports System.Random
7. Vamos criar a seguinte função dentro do frmPrincipal.class
Public Function NumeroRandomico(ByVal semente As Integer, ByVal valorMinimo As Integer, ByVal valorMaximo As Integer) As Integer 'CRIANDO : OBJETO RANDOM (GERADOR DE NÚMEROS ALEATÓRIOS). Dim Randomico As New Random(Semente) 'RETORNANDO : NÚMERO ALEATÓRIO. Return Randomico.Next(valorMinimo, valorMaximo) End Function
8. Agora vamos colocar dentro do controle btnExecutar o código que irá chamar a função e executar o processo:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExecutar.Click 'CRIANDO : VARIÁVEIS NECESSÁRIAS Dim Semente As Integer Dim ValorMinimo As Integer Dim ValorMaximo As Integer Dim Numero(4) As Integer Dim Contador As Integer 'ARMAZENANDO : VALOR MÍNIMO DE INTERVÁLO DESEJADO. ValorMinimo = CType(InputBox("Insira o valor de intervalo mínimo", "Gerador de números aleatórios", ""), Integer) 'ARMAZENANDO : VALOR MÁXIMO DE INTERVÁLO DESEJADO. ValorMaximo = CType(InputBox("Insira o valor de intervalo máximo", "Gerador de números aleatórios", ""), Integer) 'EXECUTANDO : GERADOR DE NÚMEROS ALEATÓRIOS. For Contador = 0 To 4 Step 1 Semente = CType(Date.Now.Ticks And Integer.MaxValue, Integer) Numero(Contador) = NumeroRandomico((Semente - Contador), ValorMinimo, ValorMaximo) Next 'EXIBINDO : NÚMERO ALEATÓRIO(1). txtNumeroAleatorio1.Text = CType(Numero(0), String) 'EXIBINDO : NÚMERO ALEATÓRIO(2). txtNumeroAleatorio2.Text = CType(Numero(1), String) 'EXIBINDO : NÚMERO ALEATÓRIO(3). txtNumeroAleatorio3.Text = CType(Numero(2), String) 'EXIBINDO : NÚMERO ALEATÓRIO(4). txtNumeroAleatorio4.Text = CType(Numero(3), String) 'EXIBINDO : NÚMERO ALEATÓRIO(5). txtNumeroAleatorio5.Text = CType(Numero(4), String) End Sub
9. Execute o programa e visualize o resultado.

Input Box de intervalo mínimo.

Input Box de intervalo máximo.

Resultado final com os números aleatórios.
Como pôde ser observado, o .NET Framework já provê uma classe exclusivamente para gerar números randômicos (aleatórios). Porém, fica a ressalva, o método demonstrado acima funciona muito bem para criar pequenos jogos e softwares não comerciais, mas em caso de projetos empresariais e/ou que exigem segurança aprimorada, não deve ser utilizado, afinal o resultado não é realmente “aleatório”, neste caso existem outros meios que possivelmente serão abordados mais à frente.
Qualquer dúvida, como sempre, pode ser inserida logo abaixo e assim que possível responderei com o maior prazer.
Pronto! Simples e prático.
Artigo postado em: Artigos e tutoriais, Programação, VB.NET
Tags: aleatório, basic, número, Programação, random, randômico, Tutorial, usar, vb, VB.NET, visual

Comentários (1)
Lucio,
Parabéns pelo projeto, muito interessante!!!
Tem como criar alguma rotina para evitar que a sequencia de números se repetissem?
Vlw e mais uma vez parabéns!
Deixe um Comentário!