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:
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.
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)