Utilizamos cookies propias y de terceros para mejorar la experiencia de navegación, y ofrecer contenidos y publicidad de interés.
Al continuar con la navegación entendemos que se acepta nuestra política de cookies.
Iniciar sesión Cerrar
Correo:
Contraseña:
Entrar
Recordar sesión en este navegador
Iniciar sesiónIniciar sesiónCrear cuentaCrear cuenta

ADA - Tabla de multiplicar en numeros romanos

  Imprimir  
Vista:

Tabla de multiplicar en numeros romanos

Publicado por juan reyes (1 intervención) el 20/10/2007 22:35:23
Tengo que escribir un programa que dado un entero entre 1 y 15 por el operador, el programa saque la tabla de ese numero en romanos, es decir:
TABLA DE MULTIPLICAR DEL 2
II x I = II
II x II = IV
y así.
He escrito este algoritmo, sin embargo, el compilador me dice que le falta un begin a tablamultiplicar pero si que tiene uno, por que no lo ve?
------------------------------------------------------------------------------------------------ WITH Ada.Text_IO, Ada.Integer_Text_IO; ------------------------------------------------------------------------------------------------ PROCEDURE TablaMultiplicar IS ------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------ USE Ada.Text_IO, Ada.Integer_Text_IO; --------------------------------------------------------------------------------------------- PROCEDURE TransformarRomanos (Numero : IN Integer) IS --------------------------------------------------------------------------------------------- -- Transforma el numero entero contenido en "numero" en su equivalente con cifras romanas. -- --------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------ PROCEDURE TransformarCaracter (Numero : IN Integer; Uno, Cinco, Diez : IN Character) IS ------------------------------------------------------------------------------------------ -- Dado un numero entre 1 y 9, contenido en la variable "numero", nos devuelve su caracter romano. ------------------------------------------------------------------------------------------ i : integer; begin i := 0; if numero >= 1 and numero <= 3 then while i /= numero loop i := i + 1; put(uno); end loop; elsif numero = 4 then put(uno);put(cinco); elsif numero >= 5 and numero <= 8 then put(cinco); while i + 5 < numero loop i := i + 1; put(uno); end loop; elsif numero = 9 then put(uno);put(diez); end if; end TransformarCaracter; ------------------------------------------------------------------------------------------- begin if numero > 3999 then put(" OPERACION FUERA DE RANGO (MAXIMO REPRESENTABLE: 3999)"); else transformarCaracter(numero/1000,'M',' ',' '); transformarCaracter(numero/100 mod 10,'C','D','M'); transformarCaracter(numero/10 mod 10,'X','L','C'); transformarCaracter(numero mod 10,'I','V','X'); end if; END TransformarRomanos; ----------------------------------------------------------------------------------- Numero: Integer; Entero := TransformarRomanos(Numero); I: Integer; operando := transformarRomanos(i); resultado: integer; res := transformarRomanos(resultado); --------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------- BEGIN Put("De que numero desea su tabla de multiplicar (entre 1 y 15): "); Get(Numero); Skip_Line; New_Line; Put("TABLA DE MULTIPLICAR DEL "); Put(entero,1); New_Line(2); FOR I IN 1..10 LOOP Put(entero,0); Put(" x "); Put(operando,0); Put(" = "); Put(res,0); New_Line; END LOOP; END TablaMultiplicar; ----------------------------------------------------------------------------------------
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Tabla de multiplicar de romanos

Publicado por joan (1 intervención) el 03/11/2008 00:47:57
Empecemos por TransformarRomanos y TransformarCaracter, que deben ser Funciones, no Procedimientos, ya que deben devolver algo (o eso pretendes), así que decláralas Function y haz el "Return" correspondiente.

Y antes de asignar valor a las variables (revisa el bloque de variables globales), decláralas!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Tabla de multiplicar de romanos

Publicado por josep (1 intervención) el 23/05/2009 22:27:34
quiero aprender la tabla del numero 10 con numeros romanos y division me puedes ayudar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar