You are on page 1of 8

INSTITUTO TECNOLOGICO SUPERIOR DE ESCARCEGA

INGENIERIA EN SISTEMAS COMPUTACIONALES

SEMESTRE: III

ASIGNATURA: TOPICOS SELECTOS DE PROGRAMACION

NOMBRE DEL TRABAJO: COVERCIONES.

AUTORES:
EDUARDO DAMIAN DOMINGUEZ GUILLERMO
LUIS ALBERTO POOL BAUTISTA
GRISELDA DEL CARMEN CASTRO MIJANGOS.
FLORENTINA EK GUTIERREZ
LILIANA ESPERANZA MOLINA GARCIA
CONVERSION DE NUMEROS ARABIGOS A
ROMANOS.

El proceso de conversión de Números Arábigos (1, 2,


3,…) a Números Romanos (I, II, III,…) consiste en lo
siguiente:
Dado un número, se realiza una serie de comparaciones
contra cada uno de los valores correspondientes a los
símbolos romanos enlistados una tabla que los
contenga ordenados de mayor a menor.
La clave es dicha tabla (que por facilidad puede ser
también dos vectores paralelos) que nos muestre los
valores romanos ordenados desde el más alto y hasta
terminar en el más bajo (o sea el 1) así como su “Valor
nominal”.
i Romanos[ ] Valores[ ]
1 M 1000
2 CM 900
3 D 500
4 CD 400
5 C 100
6 XC 90
7 L 50
8 XL 40
9 X 10
10 IX 9
11 V 5
12 IV 4
13 I 1
Pseudocódigo
Este mismo proceso en pseudo-código, el cual quedaría de la siguiente
manera:
1.Inicio
2.Dadas las tablas Romanos[] y Valores[]
3.Pedir: A
4.Hacer Resultado = ""
5. Ciclo en i para cada elemento de Romanos
6. Mientras Valores<i> <= A hacer
7. Resultado = Resultado + Romanos<i>
8. A = A - Valores<i>
9. Fin-Mientras
10. Fin-Ciclo
11.Mostrar Resultado
12.Fin

NOTA: El algoritmo se puede hacer más eficiente si se valida que cuando A


llegue a cero, se interrumpa el ciclo. De ese modo sería más óptimo, aunque
funcionaría igual.
Diagrama de flujo
CONVERTIR NÚMEROS ROMANOS A ARÁBIGOS

El proceso de conversión de Números Romanos (I, II, III,…) a Números Arábigos (1,
2, 3,…) es un proceso bastante simple y consiste en

La suma de los valores individuales de los caracteres que forman el Número Romano

Así pues tenemos que la conversión sería así:

I=1
II =1+1
III =1+1+1
IV = 1 + 4 ?
Y aquí viene el primer tropiezo, ya que números como el 4 (IV), el 9 (IX) o el 900(CM)
requieren de una resta. Para solucionarlo podemos tomar dos caminos, uno sería tener
una tabla con los valores romanos de todos los elementos, incluyendo los valores
compuestos, e ir comparando cada uno contra dicha tabla asegurándonos de comparar
primero XC antes de X y IV antes de I.
La otra manera es implementando un sistema de sumas y restas condicionadas
donde para cada número estemos revisando también el de adelante y si el de adelante
es mayor, entonces es una resta, y si es menor o igual entonces es una suma.
Pseudocódigo
Condiciones iníciales:
Como condición inicial consideraremos que contamos con una función llamada
ValorRomano() que nos devuelve el valor numérico de caracteres individuales.
Ejemplo: ValorRomano("I")=1, ValorRomano("V")=5

1. Inicio
2. Previa definición de ValorRomano()
3. Obtener: R como número Romano
4. Resultado = 0
5. Max = Longitud de R
6. Ciclo en i hasta Max - 1
7. C = Caracter i de R
8. C2 = Caracter i+1 de R
9. si ValorRomano(C)< ValorRomano(C2) entonces
10. Resultado = Resultado - ValorRomano(C)
11. sino
12. Resultado = Resultado + ValorRomano(C)
13. Fin-si
14. Fin-Ciclo
15. C2 = Caracter Max de R
16. Resultado = Resultado + ValorRomano(C2)
17. Mostrar Resultado
18. Fin
Diagrama de flujo

You might also like