Universidad de Costa Rica
Escuela de Ciencias de la Computación e Informática
CI-0202 Principios de informática - III-2012
Profesor Jeisson Hidalgo-Céspedes
Fecha: 31-ene-2013. Entrega límite: 07-feb-2013 11:55 p.m.

Tarea 02

Escriba un programa en Java que convierta números arábigos a números romanos. El programa permitirá al usuario ingresar números repetitivamente hasta que se digite un cero. Si se ingresa un número negativo, o mayor a 3999, se mostrará un mensaje de error (en System.err). Ejemplo de ejecución:

Conversion a numeros romanos

Numero: 2013
MMXIII

Numero: 1998
MCMXCVIII

Numero: 75
LXXV

Numero: 11
XI

Numero: 1
I

Numero: -1
Escriba un numero entre 1 y 3999 inclusive

Numero: 0
Ejemplo de ejecución del programa.

Sugerencia. Extraiga los dígitos del número ingresado por el usuario utilizando módulos y divisiones enteras entre 10. De acuerdo a la posición donde se encuentre el dígito arábigo (#), así será su correspondiente dígito romano, como muestra la siguiente tabla, donde la posición se refiere a las unidades (x1), decenas (x10), centenas (x100) y unidades de millar (x1000).

# x1000 x100 x10 x1
1 M C X I
2 MM CC XX II
3 MMM CCC XXX III
4 CD XL IV
5 D L V
6 DC LX VI
7 DCC LXX VII
8 DCCC LXXX VIII
9 CM XC IX

Evaluación

  1. [20%] Repite la lectura de números hasta que se ingrese 0. Advierte si el número no es válido (está fuera del rango {1, 2, ..., 3999}).
  2. [30%] Hace correcta extracción de los dígitos del número ingresado.
  3. [40%] Convierte correctamente cada dígito arábigo en dígitos romanos de acuerdo a su posición. Imprime correctamente el número convertido.
  4. [10%] Clase completa. Método main(). Identificadores significativos. Indentación.

Para presentar su solución, comprima el archivo .java que haya creado y súbalo a Mediación virtual en la asignación con nombre Tarea02.