Jueves 14 de Noviembre de 2024, 04:08
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
Pascal
»
De Romanos a Decimal, aporte para los programadores
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: De Romanos a Decimal, aporte para los programadores (Leído 1203 veces)
Rombus
Miembro MUY activo
Mensajes: 105
Nacionalidad:
De Romanos a Decimal, aporte para los programadores
«
en:
Martes 23 de Septiembre de 2008, 00:16 »
0
Hola gente!
estaba visitando el subforo de C y me hicieron recordar un codigo que hice el año pasado en pascal de pasar numeros de romano a decimal,
me acuerdo que lo optimice bastante y quedo bastante corto.
ya que lo encontre queria compartirlo con ustedes, capaz a alguno le venga bien
este es el codigo:
Código: Text
(*lunes, 12 de mayo de 2008, 10:55:23*)
(* Rombus Evil Bones *)
program rom;
const
B = 10;
var
num, cont, i : integer;
(*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*)
procedure numRomano (a, b, c: char; num: integer);
begin
case num of
9 : write(a,c);
5..8: begin
write (b);
for i:= 6 to num do
write (a);
end;
4 : write (a, b);
1..3: for i:= 1 to num do
write (a);
end;
end;
(*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*)
procedure defragmenta(num : integer);
begin
if num < B then
begin
case cont of
1 : numRomano ('I','V','X',num);
2 : numRomano ('X','L','C',num);
3 : numRomano ('C','D','M',num);
4 : numRomano ('M',' ',' ',num);
end;
cont := cont - 1;
end
else
begin
cont := cont + 1;
defragmenta(num div B);
defragmenta(num MOD B);
end;
end;
(*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*)
begin
cont := 1;
write('Ingrese un num: ');
readln(num);
defragmenta(num);
readln;
end.
saludos!
Tweet
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
Pascal
»
De Romanos a Decimal, aporte para los programadores