Números romanos
Convierte un número entre 1 y 3999 a números romanos.
- Nivel
- Avanzado
- Tema:
- Matemáticas
- Conceptos:
- Entrada y salida
- Arreglos
- Para
- Mientras
- Texto
Abrir en Codoritmo
Ejecuta, modifica y depura este ejemplo en el navegador.
Lo que aprenderás
Dos arreglos paralelos guardan los valores y sus símbolos. Un Mientras dentro de un Para resta el mayor valor posible las veces que haga falta.
Código
Algoritmo NumerosRomanos Definir valores, numero, resto, i Como Entero Definir simbolos, romano Como Caracter Dimension valores[13], simbolos[13] valores[1] <- 1000 simbolos[1] <- "M" valores[2] <- 900 simbolos[2] <- "CM" valores[3] <- 500 simbolos[3] <- "D" valores[4] <- 400 simbolos[4] <- "CD" valores[5] <- 100 simbolos[5] <- "C" valores[6] <- 90 simbolos[6] <- "XC" valores[7] <- 50 simbolos[7] <- "L" valores[8] <- 40 simbolos[8] <- "XL" valores[9] <- 10 simbolos[9] <- "X" valores[10] <- 9 simbolos[10] <- "IX" valores[11] <- 5 simbolos[11] <- "V" valores[12] <- 4 simbolos[12] <- "IV" valores[13] <- 1 simbolos[13] <- "I" Escribir "Número entre 1 y 3999:" Leer numero Si numero < 1 O numero > 3999 Entonces Escribir "Los romanos no escribían ese número." SiNo romano <- "" resto <- numero // Restamos el mayor valor posible tantas veces como entre Para i <- 1 Hasta 13 Hacer Mientras resto >= valores[i] Hacer romano <- romano + simbolos[i] resto <- resto - valores[i] FinMientras FinPara Escribir numero, " en números romanos es ", romano FinSiFinAlgoritmoDiagrama de flujo
Cada bloque del diagrama corresponde a una instrucción del código.
Ejemplo de ejecución
Esto muestra el programa al ejecutarlo. Las respuestas escritas por el usuario aparecen resaltadas.
Número entre 1 y 3999:Respuesta del usuario: 20242024 en números romanos es MMXXIV
Desafío
Muestra también cuántos símbolos tiene el número romano obtenido.
Ver pista
Usa Longitud sobre la variable romano.
Ejemplos relacionados
Ordenamiento Shell
Una inserción entre elementos lejanos, con un salto que se achica en cada pasada.
AvanzadoOrdenamiento por mezcla
Parte el arreglo en mitades, ordena cada una con recursión y las mezcla.
AvanzadoOrdenamiento por montículo
Organiza el arreglo como un montículo y saca el mayor una y otra vez.
Avanzado