Proceso RomanoADecimal
Definir romano como cadena;
Definir long como entero;
Definir i Como Entero;
Definir decimal como entero;
Definir cinco como logico;
Definir cincuenta como Logico;
Definir quinientos como Logico;
Definir mil como Logico;
Definir cien como Logico;
Definir diez como Logico;
Definir car como cadena;
Definir j como entero;
decimal <- 0;
Escribir "Ingrese un numero romano (Mayusculas hasta MMM y Debe ser Valido):";
Leer romano;
mil <- falso;
cien <- falso;
diez <- falso;
cinco <- falso;
cincuenta <- falso;
quinientos <- falso;
long <- longitud (romano);
Dimension car[long];
Para i<-0 Hasta long -1 Con Paso 1 Hacer
car[i] <- subcadena (romano,i,i);
FinPara
Para j<- long - 1 Hasta 0 Con Paso -1 Hacer
Si (car[j] = "I") & (cinco | diez) Entonces
decimal <- decimal - 1;
Sino
Si (car[j] = "I") Entonces
decimal <- decimal + 1;
FinSi
FinSi
Si (car[j] = "X") & (cincuenta | cien) Entonces
decimal <- decimal - 10;
Sino
Si (car[j] = "X") Entonces
decimal <- decimal + 10;
diez <- verdadero;
FinSi
FinSi
Si (car[j] = "C") & (quinientos | mil) Entonces
decimal <- decimal - 100;
Sino
Si (car[j] = "C") Entonces
decimal <- decimal + 100;
diez <- verdadero;
FinSi
FinSi
Si (car[j] = "M") Entonces
decimal <- decimal + 1000;
mil <- verdadero;
FinSi
Si (car[j] = "V") Entonces
cinco <- verdadero;
decimal <- decimal + 5;
FinSi
Si (car[j] = "L") Entonces
cincuenta <- verdadero;
decimal <- decimal + 50;
FinSi
Si (car[j] = "D") Entonces
quinientos <- verdadero;
decimal <- decimal + 500;
FinSi
FinPara
Escribir "El numero decimal e: ",decimal;
FinProceso
Todo el Software presentado en esta página se entregan "Como son" Sin grantía de nungun tipo
No hay comentarios:
Publicar un comentario