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
Ir a la versión completa