Fracciones

Aritmética de fracciones en Julia

El paquete Fracciones ha sido creado con propósitos didácticos, para mostrar algunas técnicas de programación con Julia. Para un uso "serio" de números racionales se recomienda usar el tipo Rational del módulo Base de Julia.

Este paquete define el tipo Fraccion:

Fracciones.FraccionType
Fraccion{T<:Integer}(num, den) <: Real
Fraccion(num, den)

Crea una Fraccion con numerador num y denominador den. Si se especifica el parámetro T, el numerador y el denominador se transforman a números enteros de ese tipo; si no se especifica, T viene determinado por el más amplio de los tipos de num y den, que habrán de ser enteros.

Se puede usar la función fraccion o la macro @fraccion para crear fracciones a partir de otros conjuntos de valores.

Valores del numerador y denominador

Al crear una fracción, los valores del numerador y el denominador siempre se reducen a los de su forma canónica equivalente – p.ej. Fraccion(2,4) se reduce a Fraccion(1,2).

Se permite la definición de las fracciones Fraccion(1, 0) y Fraccion(-1, 0) – equivalentes a ± infinito, pero no la de valor indefinido `Fraccion(0, 0).

Al ser el numerador y el denominador números de tipo Integer, sus valores están sujetos a posibles errores por desbordamiento aritmético, si superan (en valor absoluto) el límite de typemax(T).


Fraccion{T<:Integer}(x)
Fraccion(x)

Transforma el número x en una fracción equivalente.

source

Los números de este tipo se pueden crear también a partir de la división de otros dos números interpretables como enteros u otras fracciones, a través de la función fraccion, o más convenientemente mediante la macro @fraccion:

Fracciones.fraccionFunction
fraccion(x, y)

Crea una fracción equivalente a dividir x entre y.

Los valores introducidos han de ser interpretables como números enteros o fracciones.

julia> fraccion(Fraccion(5,2), 3)
Fraccion(5, 6)
source
Fracciones.@fraccionMacro
@fraccion x/y

Crea una fracción equivalente la expresión x/y.

Si las partes de la expresión x e y contienen otras divisiones, estas se interpretan también como fracciones.

julia> @fraccion (1+(5/2))/3
Fraccion(7, 6)
source

El tipo Fraccion se puede emplear en operaciones aritméticas básicas (suma, resta, multiplicación, división y potencia con números enteros). Además, están disponibles las siguientes funciones: