class Fraccion
Attributes
denominador[RW]
numerador[RW]
Public Class Methods
new(a, b)
click to toggle source
# File lib/fraccion.rb, line 16 def initialize(a, b) # Constructor de la clase que inicializa la fracción con los valores que se le pasan por parametros @numerador = a; @denominador = b; self.reduce() # LLamamos a la función que simplifica la fracción al mínimo end
Public Instance Methods
%(frac)
click to toggle source
# File lib/fraccion.rb, line 80 def %(frac) # Método que calcula el resto dos fracciones con % y dar el resultado de forma reducida Fraccion.new(@numerador % @denominador, frac.numerador % frac.denominador) end
*(frac)
click to toggle source
# File lib/fraccion.rb, line 71 def *(frac) #Método multiplca dos fracciones con * y dar el resultado de forma reducida Fraccion.new(@numerador*frac.numerador,@denominador*frac.denominador) end
+(frac)
click to toggle source
# File lib/fraccion.rb, line 63 def +(frac) #Método suma dos fracciones con + y dar el resultado de forma reducida Fraccion.new(@numerador*frac.denominador + frac.numerador*@denominador, @denominador*frac.denominador) end
-(frac)
click to toggle source
# File lib/fraccion.rb, line 67 def -(frac) #Método resta dos fracciones con - y dar el resultado de forma reducida Fraccion.new(@numerador*frac.denominador - frac.numerador*denominador, @denominador*frac.denominador) end
-@()
click to toggle source
# File lib/fraccion.rb, line 59 def -@ # Sobrecarga del operador - para calcular el opuesto de una fracción Fraccion.new(@numerador *-1,@denominador) end
/(frac)
click to toggle source
Método divide dos fracciones con / y dar el resultado de forma reducida
# File lib/fraccion.rb, line 76 def /(frac) Fraccion.new(@numerador*frac.denominador,@denominador*frac.numerador) end
<(frac)
click to toggle source
Método se debe de poder comprobar si una fracion es menor que otra
# File lib/fraccion.rb, line 86 def <(frac) (@numerador.to_f / @denominador) < (frac.numerador.to_f / frac.denominador) end
<=(frac)
click to toggle source
se debe de poder comprobar si una fracion es menor o igual que otra
# File lib/fraccion.rb, line 97 def <=(frac) (@numerador.to_f / @denominador) <= (frac.numerador.to_f / frac.denominador) end
==(frac)
click to toggle source
# File lib/fraccion.rb, line 44 def ==(frac) # Sobrecarga del metodo == para la comparación de fracciones if ((@numerador == frac.numerador) && (@denominador == frac.denominador)) return true end return false end
>(frac)
click to toggle source
se debe de poder comprobar si una fracion es mayor que otra
# File lib/fraccion.rb, line 91 def >(frac) (@numerador.to_f / @denominador) > (frac.numerador.to_f / frac.denominador) end
>=(frac)
click to toggle source
se debe de poder comprobar si una fracion es mayor o igual que otra
# File lib/fraccion.rb, line 102 def >=(frac) (@numerador.to_f / @denominador) >= (frac.numerador.to_f / frac.denominador) end
abs()
click to toggle source
# File lib/fraccion.rb, line 51 def abs # Metodo que nos devuelve una fracción en valor absoluto Fraccion.new(numerador.abs, denominador.abs) end
denom()
click to toggle source
# File lib/fraccion.rb, line 32 def denom() # Método encargado de devolver el valor del denominador return @denominador end
num()
click to toggle source
# File lib/fraccion.rb, line 28 def num() # Método encargado de devolver el valor del numerador return @numerador end
reciprocal()
click to toggle source
# File lib/fraccion.rb, line 55 def reciprocal # Metodo que devuelve una fraccion con el numerador y el denominador invertidos Fraccion.new(denominador, numerador) end
reduce()
click to toggle source
# File lib/fraccion.rb, line 22 def reduce() # Método encargado de la simplificación del objeto fracción que lo llama div = Mcd(@numerador, @denominador) @numerador = @numerador / div @denominador = @denominador / div end
to_f()
click to toggle source
# File lib/fraccion.rb, line 40 def to_f # Método encargado de mostrar por la consola la fraccion en formato flotante @numerador.to_f / @denominador.to_f end
to_s()
click to toggle source
# File lib/fraccion.rb, line 36 def to_s # Método encargado de mostrar por consola la fraccion de forma a/b , donde a es el numerador y b es el denominador "#{@numerador}/#{@denominador}" end