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.NET

Quantidade 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
Resposta/Solução:

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


Link para compartilhar na Internet ou com seus amigos:

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 cartesiano

Quantidade 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.NET

Quantidade 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

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
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
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
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
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 43 usuários muito felizes estudando em nosso site.