Class: Racional
Overview
-
metodo <=>
Instance Attribute Summary collapse
-
#denominador ⇒ Object
readonly
Returns the value of attribute denominador.
-
#numerador ⇒ Object
readonly
Returns the value of attribute numerador.
Instance Method Summary collapse
-
#%(other) ⇒ Object
Calcular el resto.
-
#*(other) ⇒ Object
Calcular el producto de un Racional.
-
#+(other) ⇒ Object
Calcular la suma.
-
#-(other) ⇒ Object
Calcular la resta de un Racional.
-
#-@ ⇒ Object
Calcular el opuesto de la fraccion.
-
#/(other) ⇒ Object
Calcular la division.
- #<=>(other) ⇒ Object
-
#abs ⇒ Object
Calcular el absoluto de la fraccion.
-
#denom ⇒ Object
Devolver el denominador.
-
#initialize(numerador, denominador) ⇒ Racional
constructor
A new instance of Racional.
-
#num ⇒ Object
Devolver el numerador.
-
#reciprocal ⇒ Object
Calcular el reciproco de la fraccion.
-
#to_f ⇒ Object
Flotante.
-
#to_s ⇒ Object
Método que devuelve un String.
Constructor Details
#initialize(numerador, denominador) ⇒ Racional
Returns a new instance of Racional.
31 32 33 34 |
# File 'lib/racional.rb', line 31 def initialize(numerador, denominador) @numerador = numerador @denominador = denominador end |
Instance Attribute Details
#denominador ⇒ Object (readonly)
Returns the value of attribute denominador.
35 36 37 |
# File 'lib/racional.rb', line 35 def denominador @denominador end |
#numerador ⇒ Object (readonly)
Returns the value of attribute numerador.
35 36 37 |
# File 'lib/racional.rb', line 35 def numerador @numerador end |
Instance Method Details
#%(other) ⇒ Object
Calcular el resto
118 119 120 121 122 123 124 125 126 |
# File 'lib/racional.rb', line 118 def % (other)#####Calcular el resto nume = @numerador * other.denominador deno = @denominador * other.numerador mcd = gcd(nume,deno) temp = ((nume/mcd) % (deno/mcd)) end |
#*(other) ⇒ Object
Calcular el producto de un Racional
77 78 79 80 81 82 83 |
# File 'lib/racional.rb', line 77 def * (other)#Calcular el producto de un Racional nume = @numerador * other.numerador deno = @denominador * other.denominador mcd=gcd(nume,deno) temp = Racional.new(nume / mcd ,deno / mcd ) end |
#+(other) ⇒ Object
Calcular la suma
42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/racional.rb', line 42 def +(other)#Calcular la suma if (@denominador == other.denominador ) nume=@numerador + other.numerador deno=@denominador mcd=gcd(nume,deno) else aux= @denominador * other.denominador nume = ((aux / @denominador ) * @numerador) + ((aux / other.denominador ) * other.numerador) deno = @denominador*other.denominador mcd=gcd(nume,deno) end temp = Racional.new(nume/mcd, deno/mcd) end |
#-(other) ⇒ Object
Calcular la resta de un Racional
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
# File 'lib/racional.rb', line 58 def -(other)#Calcular la resta de un Racional if (@denominador == other.denominador ) nume=@numerador - other.numerador deno=@denominador mcd=gcd(nume,deno) else aux= @denominador * other.denominador nume = ((aux / @denominador ) * @numerador) - ((aux / other.denominador ) * other.numerador) deno=@denominador*other.denominador mcd=gcd(nume,deno) end temp = Racional.new(nume/mcd, deno/mcd) end |
#-@ ⇒ Object
Calcular el opuesto de la fraccion
134 135 136 |
# File 'lib/racional.rb', line 134 def -@#####Calcular el opuesto de la fraccion negado = Racional.new(-denominador, numerador) end |
#/(other) ⇒ Object
Calcular la division
86 87 88 89 90 91 92 93 |
# File 'lib/racional.rb', line 86 def / (other) nume = @numerador *other.denominador deno = @denominador * other.numerador mcd= gcd(nume,deno) temp = Racional.new(nume/mcd, deno/mcd ) end |
#<=>(other) ⇒ Object
138 139 140 141 142 143 144 145 |
# File 'lib/racional.rb', line 138 def <=> (other) if other.instance_of? Racional return (numerador.to_f/denominador)<=>(other.numerador.to_f/other.denominador) else false end end |
#abs ⇒ Object
Calcular el absoluto de la fraccion
111 112 113 114 115 |
# File 'lib/racional.rb', line 111 def abs#####Calcular el absoluto de la fraccion absnum = numerador.abs absdenom = denominador.abs abs = Racional.new(absnum, absdenom) end |
#denom ⇒ Object
Devolver el denominador
101 102 103 |
# File 'lib/racional.rb', line 101 def denom #####Devolver el denominador @denominador end |
#num ⇒ Object
Devolver el numerador
96 97 98 |
# File 'lib/racional.rb', line 96 def num#####Devolver el numerador @numerador end |
#reciprocal ⇒ Object
Calcular el reciproco de la fraccion
129 130 131 |
# File 'lib/racional.rb', line 129 def reciprocal#####Calcular el reciproco de la fraccion Racional.new(@denominador,@numerador) end |
#to_f ⇒ Object
Flotante
106 107 108 |
# File 'lib/racional.rb', line 106 def to_f#####Flotante flotante = numerador.to_f/denominador end |
#to_s ⇒ Object
Método que devuelve un String
38 39 40 |
# File 'lib/racional.rb', line 38 def to_s#Método que devuelve un String "#{@numerador}/#{@denominador}" end |