Class: Operaciones
- Includes:
- Comparable
- Defined in:
- lib/alimentos/antropometricos.rb
Overview
Esta clase representa los datos antopométricos de una persona x
Instance Attribute Summary collapse
-
#altura ⇒ Object
readonly
Returns the value of attribute altura.
-
#edad ⇒ Object
readonly
Returns the value of attribute edad.
-
#hora ⇒ Object
readonly
Returns the value of attribute hora.
-
#imc ⇒ Object
readonly
Esta función consiste en calcular el imc.
-
#peso ⇒ Object
readonly
Returns the value of attribute peso.
-
#sexo ⇒ Object
readonly
Returns the value of attribute sexo.
Attributes inherited from Datos
Instance Method Summary collapse
-
#<=>(another) ⇒ Object
Esta funciión consiste en una sobrecarga de los aperadores <=> para que se puedan comparar dos objetos a través de las grasas.
-
#bicipital ⇒ Object
Esta función consiste en calcular la media de la cintura de los valores dado.
-
#brazo ⇒ Object
Esta función consiste en calcular la media de la cintura de los valores dado.
-
#cadera ⇒ Object
Esta función consiste en calcular la media de la cintura de los valores dado.
-
#cintura ⇒ Object
Esta función consiste en calcular la media de la cintura de los valores dado.
-
#gasto_energetico_total ⇒ Object
Esta función consiste el cálculo de los gastos energéticos totales.
-
#initialize(nombre, dni, actividad, peso, altura, hora, edad, sexo, cintura, cadera, tricipital, bicipital, subescapular, suprailiaco, brazo) ⇒ Operaciones
constructor
A new instance of Operaciones.
-
#porcentaje_grasa ⇒ Object
Esta función consiste calcular en que intervalo de porcentaje de grasa.
-
#rcc ⇒ Object
Esta función consiste calcular en que intervalo de rcc.
-
#subescapular ⇒ Object
Esta función consiste en calcular la media del subescapular de los valores dado.
-
#suprailiaco ⇒ Object
Esta función consiste en calcular la media del suprailiaco de los valores dado.
-
#to_s ⇒ Object
Valores datos antropométricos.
-
#tricipital ⇒ Object
Esta función consiste en calcular la media del tricipital de los valores dado.
Constructor Details
#initialize(nombre, dni, actividad, peso, altura, hora, edad, sexo, cintura, cadera, tricipital, bicipital, subescapular, suprailiaco, brazo) ⇒ Operaciones
Returns a new instance of Operaciones.
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/alimentos/antropometricos.rb', line 23 def initialize(nombre,dni,actividad,peso,altura,hora,edad,sexo,cintura,cadera,tricipital,bicipital,subescapular,suprailiaco,brazo) super(nombre,dni) @peso = peso @altura = altura @hora = hora @edad = edad @sexo = sexo @cintura = cintura @cadera = cadera @tricipital = tricipital @bicipital = bicipital @subescapular = subescapular @suprailiaco = suprailiaco @brazo = brazo @actividad = actividad end |
Instance Attribute Details
#altura ⇒ Object (readonly)
Returns the value of attribute altura.
22 23 24 |
# File 'lib/alimentos/antropometricos.rb', line 22 def altura @altura end |
#edad ⇒ Object (readonly)
Returns the value of attribute edad.
22 23 24 |
# File 'lib/alimentos/antropometricos.rb', line 22 def edad @edad end |
#hora ⇒ Object (readonly)
Returns the value of attribute hora.
22 23 24 |
# File 'lib/alimentos/antropometricos.rb', line 22 def hora @hora end |
#imc ⇒ Object (readonly)
Esta función consiste en calcular el imc
105 106 107 |
# File 'lib/alimentos/antropometricos.rb', line 105 def imc @imc end |
#peso ⇒ Object (readonly)
Returns the value of attribute peso.
22 23 24 |
# File 'lib/alimentos/antropometricos.rb', line 22 def peso @peso end |
#sexo ⇒ Object (readonly)
Returns the value of attribute sexo.
22 23 24 |
# File 'lib/alimentos/antropometricos.rb', line 22 def sexo @sexo end |
Instance Method Details
#<=>(another) ⇒ Object
Esta funciión consiste en una sobrecarga de los aperadores <=> para que se puedan comparar dos objetos a través de las grasas
166 167 168 |
# File 'lib/alimentos/antropometricos.rb', line 166 def <=> another gasto_energetico_total <=> another.gasto_energetico_total end |
#bicipital ⇒ Object
Esta función consiste en calcular la media de la cintura de los valores dado
60 61 62 63 64 65 |
# File 'lib/alimentos/antropometricos.rb', line 60 def bicipital suma = 0 @bicipital.each {|elemento| suma = suma + elemento} div = 0 div = suma / @bicipital.size() end |
#brazo ⇒ Object
Esta función consiste en calcular la media de la cintura de los valores dado
96 97 98 99 100 101 |
# File 'lib/alimentos/antropometricos.rb', line 96 def brazo suma = 0 @brazo.each {|elemento| suma = suma + elemento} div = 0 div = suma / @brazo.size() end |
#cadera ⇒ Object
Esta función consiste en calcular la media de la cintura de los valores dado
51 52 53 54 55 56 |
# File 'lib/alimentos/antropometricos.rb', line 51 def cadera suma = 0 @cadera.each {|elemento| suma = suma + elemento} div = 0 div = suma / @cadera.size() end |
#cintura ⇒ Object
Esta función consiste en calcular la media de la cintura de los valores dado
42 43 44 45 46 47 |
# File 'lib/alimentos/antropometricos.rb', line 42 def cintura suma = 0 @cintura.each {|elemento| suma = suma + elemento} div = 0 div = suma / @cintura.size() end |
#gasto_energetico_total ⇒ Object
Esta función consiste el cálculo de los gastos energéticos totales
146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 |
# File 'lib/alimentos/antropometricos.rb', line 146 def gasto_energetico_total() @peso_teorico_total = (@altura - 150) * (0.75 + 50) if sexo==0 @gasto_energetico_basal = (10*@peso) + (6.25 * @altura) - (5*@edad) - 161 else @gasto_energetico_basal = (10*peso) + (6.25 * altura) - (5*edad) + 5 end @efecto_termogeno = @gasto_energetico_basal * 0.10 case @actividad when ("Reposo") then @factor = 0.0 when ("Ligera") then @factor = 0.12 when ("Moderada") then @factor = 0.27 when ("Intensa") then @factor = 0.54 end @gasto_actividad_fisica = @gasto_energetico_basal * @factor @gasto_energetico_total = @gasto_energetico_basal + @efecto_termogeno + @gasto_actividad_fisica end |
#porcentaje_grasa ⇒ Object
Esta función consiste calcular en que intervalo de porcentaje de grasa
112 113 114 115 116 117 118 119 120 121 122 123 |
# File 'lib/alimentos/antropometricos.rb', line 112 def porcentaje_grasa() @porcentaje = (1.2 * @indice) + (0.23 * @edad) - (10.8 * @sexo) - 5.4 @resultado = case @porcentaje when (-Float::INFINITY..18.4) then @resultado ="Bajo peso" when (18.5..24.9) then @resultado ="Adecuado" when (25.0..29.9) then @resultado ="Sobrepeso" when (30.0..34.9) then @resultado ="Obesidad grado 1" when (35.0..39.9) then @resultado ="Obesidad grado 2" when (40.0..Float::INFINITY) then @resultado ="Obesidad grado 2" end @resultado end |
#rcc ⇒ Object
Esta función consiste calcular en que intervalo de rcc
127 128 129 130 131 132 133 134 135 136 |
# File 'lib/alimentos/antropometricos.rb', line 127 def rcc() @rcc = cintura / cadera case @rcc when (0.83..0.88) then @resultado ="Bajo" when (0.89..0.95) then @resultado ="Moderado" when (0.96..1.01) then @resultado ="Alto" when (1.02..Float::INFINITY) then @resultado ="Muy alto" end @resultado end |
#subescapular ⇒ Object
Esta función consiste en calcular la media del subescapular de los valores dado
78 79 80 81 82 83 |
# File 'lib/alimentos/antropometricos.rb', line 78 def subescapular suma = 0 @subescapular.each {|elemento| suma = suma + elemento} div = 0 div = suma / @subescapular.size() end |
#suprailiaco ⇒ Object
Esta función consiste en calcular la media del suprailiaco de los valores dado
87 88 89 90 91 92 |
# File 'lib/alimentos/antropometricos.rb', line 87 def suprailiaco suma = 0 @suprailiaco.each {|elemento| suma = suma + elemento} div = 0 div = suma / @suprailiaco.size() end |
#to_s ⇒ Object
Returns valores datos antropométricos.
139 140 141 |
# File 'lib/alimentos/antropometricos.rb', line 139 def to_s "#{cintura}\n#{cadera}\n#{bicipital}\n#{tricipital}\n#{subescapular}\n#{suprailiaco}\n#{brazo}\n#{imc}\n#{porcentaje_grasa}\n#{rcc}\n" end |
#tricipital ⇒ Object
Esta función consiste en calcular la media del tricipital de los valores dado
69 70 71 72 73 74 |
# File 'lib/alimentos/antropometricos.rb', line 69 def tricipital suma = 0 @tricipital.each {|elemento| suma = suma + elemento} div = 0 div = suma / @tricipital.size() end |