if(!isset($Keywords)) $Keywords = "PHP,Programación,recursos gratis,MYSQL,tips,trucos,diccionario informático,Términos técnicos,Galería de imágenes,Visual Basic,Microsoft,Linux,Apache,IIS,Foro,Manuales" ?> if(!isset($Description)) $Description = "Recursos gratuitos para programadores y estudiantes de informática" ?> if(!isset($TITLE)) $TITLE = "Programación, Manuales, Consejos, Trucos (PHP, HTML, CSS, Visual Basic, ASP, MySQL)" ?>
| ||||||||
Convertir números Romanos a ArábigosTambién puedes ver el proceso inverso: [liga a="http://www.elticus.com/?contenido=96"]Arábigo a Romano
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
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. La primera opción es la mas sencilla de implementar, no obstante, en lo personal considero más elegante la segunda, ya que puede también funcionar con valores "no ortodoxos" como en el caso de que para poner 1999 ponen MIM (1000 -1 +1000) en lugar de MCMXCIX (1000 + 900 +90 +9) Entonces, vamos a desarrollar esta segunda opción primero por medio de un Seudo código. PseudocódigoCondiciones iniciales:
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
Observaciones al Proceso:
Diagrama de flujo[imagen en="archivos/diagramas/diagramaromano2.gif"] |
Nadie ha puesto ningún comentario todavía |