Você está aqui: VisuAlg ::: Desafios e Lista de Exercícios Resolvidos ::: Matemática e Estatística |
Como converter de decimal para números romanos em VisuAlg - Exercícios Resolvidos de VisuAlgQuantidade de visualizações: 858 vezes |
|
Pergunta/Tarefa: Escreva um algoritmo VisuAlg 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 VisuAlg: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
algoritmo "Converter um número decimal em número romano"
var
// Variáveis usadas na resolução do problema
valores_numeros_romanos: vetor[0..12] de inteiro
numeros_romanos: vetor[0..12] de caractere
numero, i: inteiro
resultado: caractere
inicio
// vamos criar um vetor com os valores decimais possíveis de
// cada número romano
valores_numeros_romanos[0] <- 1000
valores_numeros_romanos[1] <- 900
valores_numeros_romanos[2] <- 500
valores_numeros_romanos[3] <- 400
valores_numeros_romanos[4] <- 100
valores_numeros_romanos[5] <- 90
valores_numeros_romanos[6] <- 50
valores_numeros_romanos[7] <- 40
valores_numeros_romanos[8] <- 10
valores_numeros_romanos[9] <- 9
valores_numeros_romanos[10] <- 5
valores_numeros_romanos[11] <- 4
valores_numeros_romanos[12] <- 1
// representação dos números romanos
numeros_romanos[0] <- "M"
numeros_romanos[1] <- "CM"
numeros_romanos[2] <- "D"
numeros_romanos[3] <- "CD"
numeros_romanos[4] <- "C"
numeros_romanos[5] <- "XC"
numeros_romanos[6] <- "L"
numeros_romanos[7] <- "XL"
numeros_romanos[8] <- "X"
numeros_romanos[9] <- "IX"
numeros_romanos[10] <- "V"
numeros_romanos[11] <- "IV"
numeros_romanos[12] <- "I"
// vamos pedir para o usuário informar um número decimal
escreva("Informe um número decimal: ")
leia(numero)
// para guardar o resultado
resultado <- "";
// o número é maior que zero?
se numero > 0 entao
// percorremos o array de valores decimais dos números romanos
para i de 0 ate 12 faca
// enquanto o número informado for maior que o valor do
// do número romano atual
enquanto numero >= valores_numeros_romanos[i] faca
// reduz o número informado
numero <- numero - valores_numeros_romanos[i]
// concatena o número romano e continua o cálculo
resultado <- resultado + numeros_romanos[i]
fimenquanto
fimpara
fimse
// mostramos o resultado
se resultado = "" entao
escreva("O número informado não possui número romano")
senao
escreva("O número romano correspondente é: ", resultado)
fimse
fimalgoritmo
|
|
|
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de VisuAlg |
Veja mais Dicas e truques de VisuAlg |
Dicas e truques de outras linguagens |
|
Java - Como remover um elemento de uma determinada posição do ArrayList do Java usando o método remove() |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





