Programación General > ADA

 Comparacion De Fracciones

<< < (2/2)

-SB-:
Holas!

Cierto, no me di cuenta cuando escribi ese pequeño codigo, que lo que estaba convirtiendo en float era el resultado de la division  :rolleyes:

En cualquier caso supongo que ese programa ira dentro de algun objeto que implemente un tipo de datos abstrabto para trabajar con fracciones y seguramente habra alguna funcion que calcule el denominador comun..

Bueno, saludos!

Gneuromante:
Para que se entere todo el mundo de cual es el problema:

En Ada no existe conversión explícita de enteros a reales y viceversa. Esto se hace para evitar sorpresas desagradables y obtener un resultado truncado cuando se esperaba conservar toda la precisión.

Así, el operador / para enteros es la división entera, para dividir dos enteros y que el resultado sea un número real, hay que convertir primero los operadores a un tipo real:


--- Código: Text ---  b : integer := 5; c : integer := 3; a    : float;begin  a := b / c; -- Ilegal, el resultado es entero y la variable real. El compilador da error  a := float (b) / float (c); -- a es 1.666  a := float (b / c); -- a es 1.0end; 

Navegación

[0] Índice de Mensajes

[*] Página Anterior

Ir a la versión completa