Você está aqui: VB.NET ::: Desafios e Lista de Exercícios Resolvidos ::: Laços |
Faça um programa que sorteie um número aleatório entre 0 e 500 e pergunte ao usuário qual é o "número mágico". O programa deverá - Lista de Exercícios Resolvidos de VB.NETQuantidade de visualizações: 300 vezes |
Pergunta/Tarefa: Faça um programa que sorteie um número aleatório entre 0 e 500 e pergunte ao usuário qual é o "número mágico". O programa deverá indicar se a tentativa efetuada pelo usuário é maior ou menor que o número mágico e contar o número de tentativas. Quando o usuário conseguir acertar o número o programa deverá classificar o usuário como: De 1 a 3 tentativas: muito sortudo De 4 a 6 tentativas: sortudo De 7 a 10 tentativas: normal > 10 tentativas: tente novamente Sua saída deverá ser parecida com: Adivinhe o número mágico: 100 Tente um número menor. Adivinhe o número mágico: 50 Tente um número maior. Adivinhe o número mágico: 60 Tente um número maior. Adivinhe o número mágico: 80 Tente um número maior. Adivinhe o número mágico: 90 Tente um número maior. Adivinhe o número mágico: 95 Tente um número menor. Adivinhe o número mágico: 94 Tente um número menor. Adivinhe o número mágico: 93 Tente um número menor. Adivinhe o número mágico: 92 Você acertou o número em 9 tentativas. Classificação: Normal Veja a resolução comentada deste exercício usando VB.NET: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- Imports System Module Program ' função principal do programa VB.NET Sub Main(args As String()) ' variáveis usadas na resolução do problema Dim numero_magico, palpite, tentativas As Integer Dim acertou As Boolean ' inicializa as variáveis necessárias tentativas = 0 acertou = False ' vamos sortear o número entre 0 e 500 Dim rand As Random = New Random() numero_magico = rand.Next(0, 501) ' um laço que repete enquanto o usuário não ' acertar o número mágico While Not acertou Console.Write("Adivinhe o número mágico: ") palpite = Int32.Parse(Console.ReadLine()) ' registra essa tentativa tentativas = tentativas + 1 ' o usuário acertou o número mágico? If palpite = numero_magico Then Console.WriteLine("Você acertou o número em " & tentativas & " tentativas.") ' mostra a classificação do usuário If tentativas <= 3 Then Console.WriteLine("Classificação: Muito Sortudo") ElseIf (tentativas >= 4) And (tentativas <= 4) Then Console.WriteLine("Classificação: Sortudo") ElseIf (tentativas >= 7) And (tentativas <= 10) Then Console.WriteLine("Classificação: Normal") Else Console.WriteLine("Classificação: Tente Novamente") End If ' sai do laço acertou = True Else ' indica se o palpite é maior ou menor If palpite < numero_magico Then Console.WriteLine("Tente um número maior." & vbCrLf) Else Console.WriteLine("Tente um número menor." & vbCrLf) End If End If End While Console.WriteLine(vbCrLf & vbCrLf & "Pressione qualquer tecla para sair...") ' pausa o programa Console.ReadKey() End Sub End Module |
![]() |
VB.NET ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como calcular o coeficiente angular de uma reta em VB.NET dados dois pontos no plano cartesianoQuantidade de visualizações: 1038 vezes |
O Coeficiente Angular de uma reta é a variação, na vertical, ou seja, no eixo y, pela variação horizontal, no eixo x. Sim, isso mesmo. O coeficiente angular de uma reta tem tudo a ver com a derivada, que nada mais é que a taxa de variação de y em relação a x. Vamos começar analisando o seguinte gráfico, no qual temos dois pontos distintos no plano cartesiano: ![]() Veja que o segmento de reta AB passa pelos pontos A (x=3, y=6) e B (x=9, y=10). Dessa forma, a fórmula para obtenção do coeficiente angular m dessa reta é: \[\ \text{m} = \frac{y_2 - y_1}{x_2 - x_1} = \frac{\Delta y}{\Delta x} = tg \theta \] Note que __$\Delta y__$ e __$\Delta x__$ são as variações dos valores no eixo das abscissas e no eixo das ordenadas. No triângulo retângulo que desenhei acima, a variação __$\Delta y__$ se refere ao comprimento do cateto oposto e a variação __$\Delta y__$ se refere ao comprimento do cateto adjascente. Veja agora o trecho de código na linguagem VB.NET que solicita as coordenadas x e y dos dois pontos, efetua o cálculo e mostra o coeficiente angular m da reta que passa pelos dois pontos: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- Imports System Module Program Sub Main(args As String()) ' x e y do primeiro ponto Console.Write("Informe a coordenada x do primeiro ponto: ") Dim x1 As Double = Double.Parse(Console.ReadLine()) Console.Write("Informe a coordenada y do primeiro ponto: ") Dim y1 As Double = Double.Parse(Console.ReadLine()) ' x e y do segundo ponto Console.Write("Informe a coordenada x do segundo ponto: ") Dim x2 As Double = Double.Parse(Console.ReadLine()) Console.Write("Informe a coordenada y do segundo ponto: ") Dim y2 As Double = Double.Parse(Console.ReadLine()) ' agora vamos calcular o coeficiente angular Dim m As Double = (y2 - y1) / (x2 - x1) ' e mostramos o resultado Console.WriteLine("O coeficiente angular é: " & m) Console.WriteLine("\nPressione qualquer tecla para sair...") ' pausa o programa Console.ReadKey() End Sub End Module Ao executar este código em linguagem VB.NET nós teremos o seguinte resultado: O coeficiente angular é: 0,6666666666666666 Veja agora como podemos calcular o coeficiente angular da reta que passa pelos dois pontos usando o Teorema de Pitágoras. Note que agora nós estamos tirando proveito da tangente do ângulo Theta (__$\theta__$), também chamado de ângulo Alfa ou Alpha (__$\alpha__$): ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- Imports System Module Program Sub Main(args As String()) ' x e y do primeiro ponto Console.Write("Informe a coordenada x do primeiro ponto: ") Dim x1 As Double = Double.Parse(Console.ReadLine()) Console.Write("Informe a coordenada y do primeiro ponto: ") Dim y1 As Double = Double.Parse(Console.ReadLine()) ' x e y do segundo ponto Console.Write("Informe a coordenada x do segundo ponto: ") Dim x2 As Double = Double.Parse(Console.ReadLine()) Console.Write("Informe a coordenada y do segundo ponto: ") Dim y2 As Double = Double.Parse(Console.ReadLine()) ' vamos obter o comprimento do cateto oposto Dim cateto_oposto As Double = y2 - y1 ' e agora o cateto adjascente Dim cateto_adjascente As Double = x2 - x1 ' vamos obter o ângulo tetha, ou seja, a inclinação da hipetunesa ' (em radianos, não se esqueça) Dim tetha As Double = Math.Atan2(cateto_oposto, cateto_adjascente) ' e finalmente usamos a tangente desse ângulo para calcular ' o coeficiente angular Dim tangente As Double = Math.Tan(tetha) ' e mostramos o resultado Console.WriteLine("O coeficiente angular é: " & tangente) Console.WriteLine("\nPressione qualquer tecla para sair...") ' pausa o programa Console.ReadKey() End Sub End Module Ao executar este código você verá que o resultado é o mesmo. No entanto, fique atento às propriedades do coeficiente angular da reta: 1) O coeficiente angular é positivo quando a reta for crescente, ou seja, m > 0; 2) O coeficiente angular é negativo quando a reta for decrescente, ou seja, m < 0; 3) Se a reta estiver na horizontal, ou seja, paralela ao eixo x, seu coeficiente angular é zero (0). 4) Se a reta estiver na vertical, ou seja, paralela ao eixo y, o coeficiente angular não existe. |
VB.NET ::: Dicas & Truques ::: Strings e Caracteres |
Como inverter o conteúdo de uma string em VB.NET usando os métodos ToCharArray() e Reverse()Quantidade de visualizações: 7817 vezes |
Nesta dica mostrarei como podemos tirar proveito do método ToCharArray() da classe String e do método Reverse() da classe Array do VB.NET para inverter a ordem dos caracteres de uma palavra, frase ou texto. Note que criamos uma função personalizada InverterString() que recebe uma string, a inverte e devolve uma nova string com a ordem dos caracteres invertida. Veja o código completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- Imports System Module Program Sub Main(args As String()) ' vamos declarar uma string Dim frase As String = "Gosto de VB.NET" ' mostramos a frase original Console.WriteLine("Frase original: " & frase) ' inverte o conteúdo da string frase = InverterString(frase) ' mostramos a frase invertida Console.WriteLine("A frase invertidade é: " & frase) Console.WriteLine(vbCrLf & "Pressione qualquer tecla para sair...") ' pausa o programa Console.ReadKey() End Sub ' Função que recebe uma string e a devolve invertida Function InverterString(ByVal str As String) As String Dim invertida As String Dim arrChar() As Char = str.ToCharArray() Array.Reverse(arrChar) invertida = arrChar Return invertida End Function End Module Ao executar este código VB.NET nós teremos o seguinte resultado: Frase original: Gosto de VB.NET A frase invertidade é: TEN.BV ed otsoG |
VB.NET ::: Dicas & Truques ::: Matemática e Estatística |
Como testar se um número é primo em VB.NETQuantidade de visualizações: 1294 vezes |
O Número Primo é o número maior que 1 e que só pode ser dividido por 1 e por ele mesmo, ou seja, números primos não podem ser divididos por outros números, a não ser por ele mesmo e pelo número 1. Dessa forma, 2, 3, 5, 7, 11, 13, 17, etc, são todos números primos. É importante observar que 0 e 1 não são números primos, e que o número 2 é o único número primo par. Veja agora um código VB.NET completo que pede para o usuário informar um número inteiro positivo e mostra uma mensagem indicando se o número informado é primo ou não: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- Imports System Module Program Sub Main(args As String()) Dim primo As Boolean = True ' Vamos assumir que o número é primo ' vamos solicitar um número inteiro positivo Console.Write("Informe um número inteiro positivo: ") Dim numero As Integer = Integer.Parse(Console.ReadLine()) ' o número é negativo? If numero < 0 Then Console.WriteLine("Número inválido.") ' é 0 ou 1? ElseIf ((numero = 0) Or (numero = 1)) Then Console.WriteLine("Número válido, mas não é primo.") ' passou até aqui. Vamos testar se o número é primo Else For i As Integer = 2 To (numero / 2) Step 1 ' se passar no teste, não é primo If (numero Mod i = 0) Then primo = False ' recebe False Exit For End If Next If (primo) Then Console.WriteLine("O número informado é primo") Else Console.WriteLine("O número informado não é primo") End If End If Console.WriteLine("\nPressione qualquer tecla para sair...") ' pausa o programa Console.ReadKey() End Sub End Module Ao executar este código VB.NET nós teremos o seguinte resultado: Informe um número inteiro positivo: 9 O número informado não é primo |
Desafios, Exercícios e Algoritmos Resolvidos de VB.NET |
Veja mais Dicas e truques de VB.NET |
Dicas e truques de outras linguagens |
Android Java - Como usar o método startActivity() da classe Activity ou AppCompatActivity do Android para mudar de telas VB.NET - Como adicionar horas à data e hora atual em VB.NET usando a função AddHours() da classe DateTime |
Códigos Fonte |
![]() Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
![]() Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |