ADA - Empezando con ada

 
Vista:

Empezando con ada

Publicado por Álvaro (1 intervención) el 27/10/2005 18:14:40
Hola buenas estoy cursando ingenieria en informatica y he empezado con el lenguaje ADA.

Me han pedido que cree un programa que me permita agregar un digito por la derecha a un numero y lo he escrito tal que asi


function AgregarDigitoDerecha (numero:Float; digito:Float)return Float is

begin
return (numero*10)+digito;
end AgregarDigitoDerecha;


El tema es que cuando voy a compilar no me deja hacer "(numero*10)"
por lo que he pensado que tal vez deberia definir el 10 como un digito o algo asi

En caso de estar en lo cierto... ¿como se hace?
En caso de no estar en lo cierto... ¿que deberia saber o como podria hacer que funcionase?

Muchas gracias.
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:Empezando con ada

Publicado por NPI (3 intervenciones) el 07/01/2006 12:46:48
me parece que lo que tendrias que hacer es: primero ver si las constantes o variables ( como las hayas definido) son del mismo tipo en el area de declaraciones del procedimiento, me imagino que en ese caso son naturales, y luego ver si en vez de numero pones N, y digito D
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:Empezando con ada

Publicado por yomismo (2 intervenciones) el 21/01/2006 10:56:50
Tienes que poner el 10 en formato float para que te compile:

return (numero*10.0)+digito;

saludos
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:Empezando con ada

Publicado por npi (3 intervenciones) el 28/01/2006 01:19:26
efectivamente, lo siento por si te cause alguna confusion, habia entendido mal algo
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:Empezando con ada

Publicado por Anonimo (1 intervención) el 27/06/2006 12:54:04
La razón de que no te compile es que, en Ada, los numeros float deben tener almenos un decimal explicito.
Dicho de otro modo, si quieres poner diez como float, debes poner 10.0
Si pones 10 sin el .0 Ada interpreta el 10 como un integer (o un natural) y por eso da error de tipos.

Por tanto, este código si que compila:

function AgregarDigitoDerecha (numero:Float; digito:Float)return Float is

begin
return (numero*10.0)+digito;
end AgregarDigitoDerecha;


Un saludo.
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