InforNutricional 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.coveralls.yml +1 -0
- data/.gitignore +12 -0
- data/.travis.yml +5 -0
- data/Gemfile +6 -0
- data/Guardfile +82 -0
- data/InforNutricional.gemspec +41 -0
- data/README.md +35 -0
- data/Rakefile +6 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/doc/Individuo.html +600 -0
- data/doc/InforNutricional.html +145 -0
- data/doc/List.html +986 -0
- data/doc/Node.html +409 -0
- data/doc/Nutricion.html +2550 -0
- data/doc/Paciente.html +3254 -0
- data/doc/_index.html +156 -0
- data/doc/class_list.html +51 -0
- data/doc/css/common.css +1 -0
- data/doc/css/full_list.css +58 -0
- data/doc/css/style.css +496 -0
- data/doc/file.README.html +119 -0
- data/doc/file_list.html +56 -0
- data/doc/frames.html +17 -0
- data/doc/index.html +119 -0
- data/doc/js/app.js +292 -0
- data/doc/js/full_list.js +216 -0
- data/doc/js/jquery.js +4 -0
- data/doc/method_list.html +779 -0
- data/doc/top-level-namespace.html +112 -0
- data/lib/InforNutricional.rb +9 -0
- data/lib/InforNutricional/CodeDList.rb +182 -0
- data/lib/InforNutricional/CodeInforNutricional.rb +173 -0
- data/lib/InforNutricional/array.rb +47 -0
- data/lib/InforNutricional/dsl.rb +132 -0
- data/lib/InforNutricional/icc.rb +307 -0
- data/lib/InforNutricional/version.rb +4 -0
- metadata +182 -0
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# Clase para definir otros métodos de array
|
|
2
|
+
class Array
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
#Método para ordenar un array usando for.
|
|
6
|
+
def ordenar_For()
|
|
7
|
+
array_aux = Array.new()
|
|
8
|
+
array_aux = self
|
|
9
|
+
|
|
10
|
+
for i in 0..(array_aux.length) do
|
|
11
|
+
for j in 0..(array_aux.length-2) do
|
|
12
|
+
if(array_aux[j] > array_aux[j+1])
|
|
13
|
+
temp = array_aux[j]
|
|
14
|
+
array_aux[j] = array_aux[j+1]
|
|
15
|
+
array_aux[j+1] = temp
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
array_aux
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
#Método para ordenar un array usando each.
|
|
23
|
+
def ordenar_Each()
|
|
24
|
+
|
|
25
|
+
array_aux = Array.new()
|
|
26
|
+
array_aux = self
|
|
27
|
+
|
|
28
|
+
indice = 0
|
|
29
|
+
array_aux.each do |x|
|
|
30
|
+
array_aux.each do |y|
|
|
31
|
+
if (indice < array_aux.length-1)
|
|
32
|
+
if (array_aux[indice] > array_aux[indice+1])
|
|
33
|
+
temp = array_aux[indice]
|
|
34
|
+
array_aux[indice] = array_aux[indice+1]
|
|
35
|
+
array_aux[indice+1] = temp
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
indice = indice+1
|
|
39
|
+
end
|
|
40
|
+
indice = 0
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
array_aux
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
end
|
|
47
|
+
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
class Dsl_menu
|
|
2
|
+
|
|
3
|
+
attr_reader :ingesta, :desayunos, :almuerzos, :cenas
|
|
4
|
+
|
|
5
|
+
#Equivalencias de las porciones en gramos
|
|
6
|
+
@@equivalencias = {"pieza"=>200, "taza"=>250, "cucharón"=>80, "rodaja"=>50, "vaso"=>200, "porción"=>100}
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
def initialize (dia, &bloque)
|
|
10
|
+
|
|
11
|
+
@desayunos = ["Desayuno"]
|
|
12
|
+
@almuerzos = ["Almuerzo"]
|
|
13
|
+
@cenas = ["Cena"]
|
|
14
|
+
@dia = dia
|
|
15
|
+
@v_energ_total = 0.0
|
|
16
|
+
|
|
17
|
+
instance_eval(&bloque)
|
|
18
|
+
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
def titulo(titulo_aux)
|
|
23
|
+
@titulo = titulo_aux
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
def ingesta (opciones = {})
|
|
28
|
+
if (opciones[:min])
|
|
29
|
+
@min = opciones[:min]
|
|
30
|
+
end
|
|
31
|
+
if ( opciones[:max] )
|
|
32
|
+
@max = opciones[:max]
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
def convertidor(porcion)
|
|
38
|
+
|
|
39
|
+
num_array = porcion.split(" ")[0]
|
|
40
|
+
word_array = porcion.split(" ")[1]
|
|
41
|
+
gramos = num_array.to_f * @@equivalencias[word_array.chomp ' ']
|
|
42
|
+
|
|
43
|
+
gramos
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
def desayuno(opciones={})
|
|
48
|
+
|
|
49
|
+
if opciones[:gramos]
|
|
50
|
+
cantidad = opciones[:gramos]
|
|
51
|
+
elsif opciones[:porcion]
|
|
52
|
+
cantidad = convertidor(opciones[:porcion])
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
@desayuno_aux = Nutricion.new(opciones[:descripcion], opciones[:grasas].to_f, 0.0, 0.0, opciones[:carbohidratos].to_f, 0.0, 0.0, 0.0, opciones[:proteinas].to_f, 0.0, 0.0, opciones[:sal].to_f )
|
|
56
|
+
|
|
57
|
+
@v_energ_total += @desayuno_aux.kcal
|
|
58
|
+
@desayunos << @desayuno_aux
|
|
59
|
+
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
def almuerzo( opciones={} )
|
|
64
|
+
|
|
65
|
+
if opciones[:gramos]
|
|
66
|
+
cantidad = opciones[:gramos]
|
|
67
|
+
elsif opciones[:porcion]
|
|
68
|
+
cantidad = convertidor(opciones[:porcion])
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
@almuerzo_aux = Nutricion.new( opciones[:descripcion], opciones[:grasas].to_f, 0.0, 0.0, opciones[:carbohidratos].to_f , 0.0, 0.0, opciones[:fibra].to_f, opciones[:proteinas].to_f, 0.0, 0.0, opciones[:sal].to_f )
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
@v_energ_total += @desayuno_aux.kcal
|
|
75
|
+
@almuerzos << @almuerzo_aux
|
|
76
|
+
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
def cena( opciones={} )
|
|
81
|
+
|
|
82
|
+
if opciones[:gramos]
|
|
83
|
+
cantidad = opciones[:gramos]
|
|
84
|
+
elsif opciones[:porcion]
|
|
85
|
+
cantidad = convertidor(opciones[:porcion])
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
@cena_aux = Nutricion.new( opciones[:descripcion], opciones[:grasas], 0, 0, opciones[:carbohidratos], 0, 0, 0, opciones[:proteinas], 0, 0, opciones[:sal] )
|
|
89
|
+
|
|
90
|
+
@v_energ_total += @desayuno_aux.kcal
|
|
91
|
+
@cenas << @cena_aux
|
|
92
|
+
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
def to_s
|
|
97
|
+
output = @dia + "\t"
|
|
98
|
+
output += "\nMENU: " + @titulo
|
|
99
|
+
output += "\n\n\t\t\tComposición nutricional: \n"
|
|
100
|
+
output += "=============================================================================================================\n"
|
|
101
|
+
|
|
102
|
+
@desayunos.each_with_index do |desayuno, index|
|
|
103
|
+
output += "_____________________________________________________________________________________________________________\n"
|
|
104
|
+
output += "#{desayuno.to_s}\n"
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
output += "_____________________________________________________________________________________________________________\n"
|
|
108
|
+
output += ".............................................................................................................\n"
|
|
109
|
+
|
|
110
|
+
@almuerzos.each_with_index do |almuerzo, index|
|
|
111
|
+
output += "_____________________________________________________________________________________________________________\n"
|
|
112
|
+
output += "#{almuerzo.to_s}\n"
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
output += "_____________________________________________________________________________________________________________\n"
|
|
116
|
+
output += ".............................................................................................................\n"
|
|
117
|
+
|
|
118
|
+
@cenas.each_with_index do |cena, index|
|
|
119
|
+
output += "_____________________________________________________________________________________________________________\n"
|
|
120
|
+
output += "#{cena.to_s}\n"
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
output += "_____________________________________________________________________________________________________________\n"
|
|
124
|
+
output += ".............................................................................................................\n"
|
|
125
|
+
output += "Valor energetico total = " + (@v_energ_total).round(2).to_s
|
|
126
|
+
output += "\n=============================================================================================================\n"
|
|
127
|
+
|
|
128
|
+
output
|
|
129
|
+
|
|
130
|
+
end
|
|
131
|
+
|
|
132
|
+
end
|
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
# Clase que representa los datos básicos de un Individuo
|
|
2
|
+
class Individuo
|
|
3
|
+
|
|
4
|
+
attr_reader :nombre, :edad, :sexo
|
|
5
|
+
#Incluyendo módulo mixin comparable
|
|
6
|
+
include Comparable
|
|
7
|
+
#Método para inicializar y hacer new
|
|
8
|
+
def initialize(nombre, edad, sexo)
|
|
9
|
+
#Variables de instancia
|
|
10
|
+
@nombre = nombre
|
|
11
|
+
@edad = edad
|
|
12
|
+
@sexo = sexo
|
|
13
|
+
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def to_s() #Método para mostrar los resultados.
|
|
17
|
+
"Datos del individuo: #{@nombre}. Edad: #{@edad}. Sexo: #{@sexo}. "
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
def <=>(other) # Método comparable
|
|
22
|
+
return nil unless other.instance_of?Individuo
|
|
23
|
+
@nombre <=> other.nombre
|
|
24
|
+
@edad <=> other.edad
|
|
25
|
+
@sexo <=> other.sexo
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
# Clase Paciente que hereda de Individuo
|
|
32
|
+
class Paciente < Individuo
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
attr_reader :nombre, :peso, :talla, :imc, :oms, :descripcion, :grasa, :edad, :sexo, :cintura, :cadera, :descripcion_rcc, :brazo, :tricipital, :bicipital, :subescapular, :suprailiaco, :rcc, :actividad, :peso_t_i, :gasto_energ_basal, :efecto_termogeno, :gasto_actividad, :gasto_energ_total
|
|
36
|
+
# include Comparable se hereda
|
|
37
|
+
|
|
38
|
+
#Método initialize:
|
|
39
|
+
def initialize(nombre, peso, talla, edad, sexo, cintura, cadera, brazo, tricipital, bicipital, subescapular, suprailiaco, actividad)
|
|
40
|
+
|
|
41
|
+
# Heredando datos básicos de Individuo
|
|
42
|
+
super(nombre, edad, sexo)
|
|
43
|
+
|
|
44
|
+
#Variables de instancia:
|
|
45
|
+
@peso = peso
|
|
46
|
+
@talla = talla
|
|
47
|
+
@cintura = cintura
|
|
48
|
+
@cadera = cadera
|
|
49
|
+
@brazo = brazo
|
|
50
|
+
@tricipital = tricipital
|
|
51
|
+
@bicipital = bicipital
|
|
52
|
+
@subescapular = subescapular
|
|
53
|
+
@suprailiaco = suprailiaco
|
|
54
|
+
@actividad = actividad
|
|
55
|
+
|
|
56
|
+
#Metodos:
|
|
57
|
+
calculo_imc(peso, talla)
|
|
58
|
+
clasificar_imc(imc)
|
|
59
|
+
descripcion_popular(imc)
|
|
60
|
+
calculo_grasa(imc, edad, sexo)
|
|
61
|
+
calculo_rcc(cintura, cadera, sexo)
|
|
62
|
+
calculo_circunferencia_brazo(brazo)
|
|
63
|
+
calculo_media_pliegues(tricipital, bicipital, subescapular, suprailiaco)
|
|
64
|
+
calculo_peso_teorico_ideal()
|
|
65
|
+
calculo_gasto_energetico_basal()
|
|
66
|
+
calculo_efecto_termogeno()
|
|
67
|
+
calculo_gasto_actividad_fisica()
|
|
68
|
+
calculo_gasto_energ_total()
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
# Método que calcula el peso teórico ideal del paciente
|
|
72
|
+
def calculo_peso_teorico_ideal()
|
|
73
|
+
|
|
74
|
+
@peso_t_i = (@talla - 1.50) * 0.75 + 50
|
|
75
|
+
@peso_t_i.round(3)
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
# Método que calcula el gasto energético basal según el sexo del paciente.
|
|
79
|
+
def calculo_gasto_energetico_basal()
|
|
80
|
+
if (@sexo == 0)
|
|
81
|
+
@gasto_energ_basal = (10.0*@peso) + (6.25 * @talla) - (5.0*@edad) - 161.0
|
|
82
|
+
else
|
|
83
|
+
@gasto_energ_basal = (10.0*@peso) + (6.25 * @talla) - (5.0*@edad) + 5.0
|
|
84
|
+
end
|
|
85
|
+
@gasto_energ_basal.round(3)
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
# Método que calcula el efecto termógeno del paciente.
|
|
89
|
+
def calculo_efecto_termogeno()
|
|
90
|
+
if (@sexo == 0)
|
|
91
|
+
@efecto_termogeno = @gasto_energ_basal*0.10
|
|
92
|
+
else
|
|
93
|
+
@efecto_termogeno = @gasto_energ_basal*0.10
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
@efecto_termogeno = @efecto_termogeno.round(3)
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
#Método que calcula el gasto de actividad física del paciente, en función a su actividad.
|
|
100
|
+
def calculo_gasto_actividad_fisica()
|
|
101
|
+
case @actividad
|
|
102
|
+
when "reposo"
|
|
103
|
+
@factor_act = 0.0
|
|
104
|
+
when "ligera"
|
|
105
|
+
@factor_act = 0.12
|
|
106
|
+
when "moderada"
|
|
107
|
+
@factor_act = 0.27
|
|
108
|
+
else
|
|
109
|
+
@factor_act = 0.54
|
|
110
|
+
end
|
|
111
|
+
@gasto_actividad = @gasto_energ_basal * @factor_act
|
|
112
|
+
@gasto_actividad = @gasto_actividad.round(4)
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
# Método que calcula el gasto energético total del paciente
|
|
116
|
+
def calculo_gasto_energ_total()
|
|
117
|
+
@gasto_energ_total = @gasto_energ_basal + @efecto_termogeno + @gasto_actividad
|
|
118
|
+
@gasto_energ_total.round(3)
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
# Método comparable
|
|
122
|
+
def <=>(other)
|
|
123
|
+
return nil unless other.instance_of?Paciente
|
|
124
|
+
# @peso <=> other.peso
|
|
125
|
+
# @talla <=> other.talla
|
|
126
|
+
# @cintura <=> other.cintura
|
|
127
|
+
# @cadera <=> other.cadera
|
|
128
|
+
# @brazo <=> other.brazo
|
|
129
|
+
# @tricipital <=> other.tricipital
|
|
130
|
+
# @bicipital <=> other.bicipital
|
|
131
|
+
# @subescapular <=> other.subescapular
|
|
132
|
+
# @suprailiaco <=> other.suprailiaco
|
|
133
|
+
@gasto_energ_total <=> other.gasto_energ_total
|
|
134
|
+
end
|
|
135
|
+
|
|
136
|
+
#Método para calcular el valor de imc dado el peso y altura de la persona:
|
|
137
|
+
def calculo_imc(peso, talla)
|
|
138
|
+
imc = peso/(talla*talla)
|
|
139
|
+
@imc = imc.round(2)
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
#Método para poder ver los valores que toman nuestras variables de instancia y así poder verificar la veracidad de los datos con respecto a los resultados de las pruebas:
|
|
145
|
+
def to_s()
|
|
146
|
+
|
|
147
|
+
@output = super
|
|
148
|
+
|
|
149
|
+
@output <<
|
|
150
|
+
|
|
151
|
+
"El IMC de la persona #{@nombre} es #{@imc}. Su peso es #{@peso} y su altura es #{@talla}. \nTeniendo en cuenta el imc se clasifica como #{@oms} y se considera #{@descripcion}" +
|
|
152
|
+
" \n#{@nombre} tiene #{@edad} años, es con sexo=#{@sexo} y tiene un porcentaje de grasa de #{@grasa}." +
|
|
153
|
+
" \nLa media de cintura es #{@cintura} y la media de cadera es #{@cadera}, por lo tanto la relación cadera-cintura(RCC) es #{@rcc}, parece ser #{@descripcion_rcc}" +
|
|
154
|
+
" Asimismo, la media de la circunferencia de su brazo es #{@brazo}." +
|
|
155
|
+
" \nLa media de los pliegues cutáneos(mm) es la siguiente: Media tricipital: #{@tricipital}; Media bicipital: #{@bicipital}; Media subescapular: #{@subescapular}; Media suprailiaco: #{@suprailiaco}."
|
|
156
|
+
end
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
#Método para clasificar el imc según la tabla:
|
|
160
|
+
def clasificar_imc(imc)
|
|
161
|
+
case @imc
|
|
162
|
+
|
|
163
|
+
when 0 .. 18.49
|
|
164
|
+
@oms = "bajo peso"
|
|
165
|
+
when 18.5 .. 24.9
|
|
166
|
+
@oms = "adecuado"
|
|
167
|
+
when 25.0 .. 29.9
|
|
168
|
+
@oms = "sobrepeso"
|
|
169
|
+
when 30.0 .. 34.9
|
|
170
|
+
@oms = "obesidad grado 1"
|
|
171
|
+
when 35.0 .. 39.9
|
|
172
|
+
@oms = "obesidad grado 2"
|
|
173
|
+
|
|
174
|
+
else
|
|
175
|
+
@oms = "obesidad grado 3"
|
|
176
|
+
end
|
|
177
|
+
|
|
178
|
+
end
|
|
179
|
+
|
|
180
|
+
#Método para clasificar el imc según la descripción popular:
|
|
181
|
+
def descripcion_popular(imc)
|
|
182
|
+
case @imc
|
|
183
|
+
|
|
184
|
+
when (0 .. 18.49)
|
|
185
|
+
@descripcion = "delgado."
|
|
186
|
+
when (18.5 .. 24.9)
|
|
187
|
+
@descripcion = "aceptable."
|
|
188
|
+
when (25.0 .. 29.9)
|
|
189
|
+
@descripcion = "sobrepeso."
|
|
190
|
+
when (30.0 .. 34.9)
|
|
191
|
+
@descripcion = "obesidad."
|
|
192
|
+
when (35.0 .. 39.9)
|
|
193
|
+
@descripcion = "obesidad."
|
|
194
|
+
|
|
195
|
+
else
|
|
196
|
+
@descripcion = "obesidad."
|
|
197
|
+
end
|
|
198
|
+
|
|
199
|
+
end
|
|
200
|
+
|
|
201
|
+
#Método para calcular el porcentaje de grasa según el valor del imc, edad y sexo de la persona. Son necesarios datos auxiliares para realizar el cálculo:
|
|
202
|
+
def calculo_grasa(imc, edad, sexo)
|
|
203
|
+
aux1 = 1.2
|
|
204
|
+
aux2 = 0.23
|
|
205
|
+
aux3 = 10.8
|
|
206
|
+
aux4 = 5.4
|
|
207
|
+
|
|
208
|
+
grasa = (aux1*imc) + (aux2*edad) - (aux3*sexo) - aux4
|
|
209
|
+
@grasa = grasa.round(2)
|
|
210
|
+
|
|
211
|
+
end
|
|
212
|
+
|
|
213
|
+
#Método para calcular la relación cadera-cintura dado las medias de estas y el sexo de la persona:
|
|
214
|
+
def calculo_rcc(cintura, cadera, sexo)
|
|
215
|
+
|
|
216
|
+
#Necesito calcular las medias de cintura
|
|
217
|
+
suma = 0
|
|
218
|
+
cintura.each { |num| suma += num }
|
|
219
|
+
@cintura = (suma/cintura.length).round(2)
|
|
220
|
+
|
|
221
|
+
#Necesito calcular las medias de cadera
|
|
222
|
+
suma = 0
|
|
223
|
+
cadera.each { |num| suma += num }
|
|
224
|
+
@cadera = (suma/cadera.length).round(2)
|
|
225
|
+
|
|
226
|
+
#Una vez tengo los datos calculo su rcc
|
|
227
|
+
rcc = (@cintura/@cadera).round(2)
|
|
228
|
+
@rcc = "#{rcc}"
|
|
229
|
+
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
#Determinando a partir del valor del rcc, el riesgo de la persona.
|
|
233
|
+
|
|
234
|
+
#Hombres
|
|
235
|
+
if (sexo == 1)
|
|
236
|
+
case rcc
|
|
237
|
+
when (0 .. 0.82)
|
|
238
|
+
@descripcion_rcc = "que los datos obtenidos son demasiado bajos."
|
|
239
|
+
when (0.83 .. 0.88)
|
|
240
|
+
@descripcion_rcc = "bajo."
|
|
241
|
+
when (0.89 .. 0.95)
|
|
242
|
+
@descripcion_rcc = "moderado."
|
|
243
|
+
when (0.96 .. 1.01)
|
|
244
|
+
@descripcion_rcc = "alto."
|
|
245
|
+
|
|
246
|
+
else
|
|
247
|
+
@descripcion_rcc = "muy alto."
|
|
248
|
+
|
|
249
|
+
end
|
|
250
|
+
end
|
|
251
|
+
|
|
252
|
+
#Mujeres
|
|
253
|
+
if (sexo == 0)
|
|
254
|
+
case rcc
|
|
255
|
+
when 0 .. 0.71
|
|
256
|
+
@descripcion_rcc = "que los datos obtenidos son demasiado bajos."
|
|
257
|
+
when 0.72 .. 0.75
|
|
258
|
+
@descripcion_rcc = "bajo."
|
|
259
|
+
when 0.76 .. 0.78
|
|
260
|
+
@descripcion_rcc = "bajo-moderado."
|
|
261
|
+
when 0.78 .. 0.82
|
|
262
|
+
@descripcionn_rcc = "moderado."
|
|
263
|
+
|
|
264
|
+
else
|
|
265
|
+
@descripcion_rcc = "alto."
|
|
266
|
+
end
|
|
267
|
+
end
|
|
268
|
+
|
|
269
|
+
end
|
|
270
|
+
|
|
271
|
+
|
|
272
|
+
#Método para calcular la circunferencia del brazo que faltaba por calcular:
|
|
273
|
+
def calculo_circunferencia_brazo(brazo)
|
|
274
|
+
|
|
275
|
+
suma = 0
|
|
276
|
+
brazo.each { |num| suma += num }
|
|
277
|
+
@brazo = (suma/brazo.length).round(2)
|
|
278
|
+
|
|
279
|
+
end
|
|
280
|
+
|
|
281
|
+
|
|
282
|
+
#Método para calcular la media de cada uno de los pliegues:
|
|
283
|
+
def calculo_media_pliegues(tricipital, bicipital, subescapular, suprailiaco)
|
|
284
|
+
suma = 0
|
|
285
|
+
tricipital.each { |num| suma += num }
|
|
286
|
+
@tricipital = (suma/tricipital.length).round(2)
|
|
287
|
+
|
|
288
|
+
suma = 0
|
|
289
|
+
bicipital.each { |num| suma += num }
|
|
290
|
+
@bicipital = (suma/bicipital.length).round(2)
|
|
291
|
+
|
|
292
|
+
suma = 0
|
|
293
|
+
subescapular.each { |num| suma += num }
|
|
294
|
+
@subescapular = (suma/subescapular.length).round(2)
|
|
295
|
+
|
|
296
|
+
suma = 0
|
|
297
|
+
suprailiaco.each { |num| suma += num }
|
|
298
|
+
@suprailiaco = (suma/suprailiaco.length).round(2)
|
|
299
|
+
|
|
300
|
+
end
|
|
301
|
+
|
|
302
|
+
|
|
303
|
+
|
|
304
|
+
|
|
305
|
+
|
|
306
|
+
|
|
307
|
+
end
|