Programación General > Pascal

 De Romanos a Decimal, aporte para los programadores

(1/1)

Rombus:
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!

Navegación

[0] Índice de Mensajes

Ir a la versión completa