Você está aqui: VB.NET ::: Desafios e Lista de Exercícios Resolvidos ::: Matemática e Estatística |
Como converter de decimal para números romanos em VB.NET - Exercícios Resolvidos de VB.NETQuantidade de visualizações: 619 vezes |
|
Pergunta/Tarefa: Escreva um programa VB.NET que pede para o usuário informar um número inteiro decimal e converta-o para o número romano correspondente. Sua saída deverá ser parecida com: Informe um número decimal: 2023 O número romano correspondente é: MMXXIII 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
' Algoritmo VB.NET para converter um número decimal em um
' número romano
Module Program
Sub Main(args As String())
' vamos criar um array com os valores decimais possíveis de
' cada número romano
Dim valoresNumerosRomanos() As Integer = {1000, 900, 500, 400,
100, 90, 50, 40, 10, 9, 5, 4, 1}
' representação dos números romanos
Dim numerosRomanos() As String = {"M", "CM", "D", "CD",
"C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"}
' vamos pedir para o usuário informar um número decimal
Console.Write("Informe um número decimal: ")
Dim numero As Integer = Integer.Parse(Console.ReadLine())
' para guardar o resultado
Dim resultado As String = ""
' o número é maior que zero?
If numero > 0 Then
' percorremos o array de valores decimais dos números romanos
For i As Integer = 0 To valoresNumerosRomanos.Length - 1 Step 1
' enquanto o número informado for maior que o valor do
' do número romano atual
While numero >= valoresNumerosRomanos(i)
' reduz o número informado
numero = numero - valoresNumerosRomanos(i)
' concatena o número romano e continua o cálculo
resultado = resultado & numerosRomanos(i)
End While
Next
End If
' mostramos o resultado
If resultado = "" Then
Console.WriteLine("O número informado não possui número romano")
Else
Console.WriteLine("O número romano correspondente é: " & resultado)
End If
Console.WriteLine(vbCrLf & "Pressione qualquer tecla para sair...")
' pausa o programa
Console.ReadKey()
End Sub
End Module
|
|
|
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de VB.NET |
Veja mais Dicas e truques de VB.NET |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





