2Eva_IT2011_T4 Números Romanos a decimal

2da Evaluación I Término 2011, Agosto 30, 2011 /ICM00794

Tema 4 (25 puntos). Realice un programa que reciba una cadena de caracteres, que representa un número romano y la convierta a número en base decimal.

El equivalente de números romanos se muestra en la tabla, y para la conversión considere solo las siguientes reglas:

 Tabla de equivalentes
Romano I V X L C D M
Decimal 1 5 10 50 100 500 1000
  • Si a la derecha de una cifra romana de escribe otra igual o menor, el valor de ésta se suma a la anterior.
  • Si entre dos cifras romanas cualesquiera existe otra menor, ésta restará su valor a la siguiente. Casos para I, X y C
  • En ningún número se puede poner una misma letra más de tres veces seguidas.
  • Suponga que la cadena de caracteres corresponde a un número romano válido.
Ejemplos:
Romano: CLXIII C L X I I I
Decimal: 163 +100 +50 +10 +1 +1 +1
Romano: CXLIX C X L I X
Decimal: 149 +100 -10 +50 -1 +10

Rúbrica: cálculo de equivalencias aditivas (10 puntos), equivalencias con signo menos (15 puntos)