Class: Registro
- Inherits:
-
Object
- Object
- Registro
- Includes:
- Comparable
- Defined in:
- lib/practica6/registro.rb
Instance Attribute Summary collapse
-
#cir_brazo ⇒ Object
readonly
Returns the value of attribute cir_brazo.
-
#cir_cadera ⇒ Object
readonly
Returns the value of attribute cir_cadera.
-
#cir_cintura ⇒ Object
readonly
Returns the value of attribute cir_cintura.
-
#edad ⇒ Object
readonly
Returns the value of attribute edad.
-
#factor ⇒ Object
readonly
Returns the value of attribute factor.
-
#imc ⇒ Object
readonly
Returns the value of attribute imc.
-
#nombre ⇒ Object
readonly
Returns the value of attribute nombre.
-
#peso ⇒ Object
readonly
Returns the value of attribute peso.
-
#pl_bicipital ⇒ Object
readonly
Returns the value of attribute pl_bicipital.
-
#pl_subescapular ⇒ Object
readonly
Returns the value of attribute pl_subescapular.
-
#pl_suprailiaco ⇒ Object
readonly
Returns the value of attribute pl_suprailiaco.
-
#pl_tricipital ⇒ Object
readonly
Returns the value of attribute pl_tricipital.
-
#sexo ⇒ Object
readonly
Returns the value of attribute sexo.
-
#talla ⇒ Object
readonly
Returns the value of attribute talla.
Instance Method Summary collapse
-
#<=>(anOther) ⇒ Number
Retorna -1,0 o 1.
-
#calcular_imc ⇒ Number
Retorna el índice de masa corporal.
-
#calcular_media(datos_) ⇒ Number
Calcula la media de los datos.
-
#calcular_pctj_grasa ⇒ Number
Retorna el porcentaje de grasas.
-
#calcular_rcc ⇒ Number
Retorna el rcc.
-
#evaluar_imc ⇒ String
Retorna una cadena donde se evalúa el índice de masa corporal.
-
#evaluar_rcc ⇒ String
Retorna una cadena donde se evalúa el rcc.
-
#initialize(nombre, peso, talla, edad, sexo, cir_cintura = nil, cir_cadera = nil, cir_brazo = nil, pl_tricipital = nil, pl_bicipital = nil, pl_subescapular = nil, pl_suprailiaco = nil, factor = nil) ⇒ Paciente_Obeso
constructor
Retorna una instancia de la clase Registro.
-
#mostrar_info ⇒ String
Muestra la información del registro.
Constructor Details
#initialize(nombre, peso, talla, edad, sexo, cir_cintura = nil, cir_cadera = nil, cir_brazo = nil, pl_tricipital = nil, pl_bicipital = nil, pl_subescapular = nil, pl_suprailiaco = nil, factor = nil) ⇒ Paciente_Obeso
Returns retorna una instancia de la clase Registro.
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/practica6/registro.rb', line 25 def initialize(nombre, peso, talla, edad, sexo, cir_cintura = nil, cir_cadera = nil, cir_brazo = nil, pl_tricipital = nil, pl_bicipital = nil, pl_subescapular = nil, pl_suprailiaco = nil, factor= nil) @nombre = nombre @peso = peso @talla = talla @edad = edad @sexo = sexo @cir_cintura = cir_cintura @cir_cadera = cir_cadera @cir_brazo = cir_brazo @pl_tricipital = pl_tricipital @pl_bicipital = pl_bicipital @pl_subescapular = pl_subescapular @pl_suprailiaco = pl_suprailiaco @factor = factor @imc = self.calcular_imc end |
Instance Attribute Details
#cir_brazo ⇒ Object (readonly)
Returns the value of attribute cir_brazo.
4 5 6 |
# File 'lib/practica6/registro.rb', line 4 def cir_brazo @cir_brazo end |
#cir_cadera ⇒ Object (readonly)
Returns the value of attribute cir_cadera.
4 5 6 |
# File 'lib/practica6/registro.rb', line 4 def cir_cadera @cir_cadera end |
#cir_cintura ⇒ Object (readonly)
Returns the value of attribute cir_cintura.
4 5 6 |
# File 'lib/practica6/registro.rb', line 4 def cir_cintura @cir_cintura end |
#edad ⇒ Object (readonly)
Returns the value of attribute edad.
4 5 6 |
# File 'lib/practica6/registro.rb', line 4 def edad @edad end |
#factor ⇒ Object (readonly)
Returns the value of attribute factor.
4 5 6 |
# File 'lib/practica6/registro.rb', line 4 def factor @factor end |
#imc ⇒ Object (readonly)
Returns the value of attribute imc.
4 5 6 |
# File 'lib/practica6/registro.rb', line 4 def imc @imc end |
#nombre ⇒ Object (readonly)
Returns the value of attribute nombre.
4 5 6 |
# File 'lib/practica6/registro.rb', line 4 def nombre @nombre end |
#peso ⇒ Object (readonly)
Returns the value of attribute peso.
4 5 6 |
# File 'lib/practica6/registro.rb', line 4 def peso @peso end |
#pl_bicipital ⇒ Object (readonly)
Returns the value of attribute pl_bicipital.
4 5 6 |
# File 'lib/practica6/registro.rb', line 4 def pl_bicipital @pl_bicipital end |
#pl_subescapular ⇒ Object (readonly)
Returns the value of attribute pl_subescapular.
4 5 6 |
# File 'lib/practica6/registro.rb', line 4 def pl_subescapular @pl_subescapular end |
#pl_suprailiaco ⇒ Object (readonly)
Returns the value of attribute pl_suprailiaco.
4 5 6 |
# File 'lib/practica6/registro.rb', line 4 def pl_suprailiaco @pl_suprailiaco end |
#pl_tricipital ⇒ Object (readonly)
Returns the value of attribute pl_tricipital.
4 5 6 |
# File 'lib/practica6/registro.rb', line 4 def pl_tricipital @pl_tricipital end |
#sexo ⇒ Object (readonly)
Returns the value of attribute sexo.
4 5 6 |
# File 'lib/practica6/registro.rb', line 4 def sexo @sexo end |
#talla ⇒ Object (readonly)
Returns the value of attribute talla.
4 5 6 |
# File 'lib/practica6/registro.rb', line 4 def talla @talla end |
Instance Method Details
#<=>(anOther) ⇒ Number
Returns retorna -1,0 o 1.
8 9 10 |
# File 'lib/practica6/registro.rb', line 8 def <=>(anOther) @imc <=> anOther.imc end |
#calcular_imc ⇒ Number
Returns retorna el índice de masa corporal.
43 44 45 46 |
# File 'lib/practica6/registro.rb', line 43 def calcular_imc imc = @peso / (@talla * @talla) imc = (imc * 100).round() / 100.0 end |
#calcular_media(datos_) ⇒ Number
Returns calcula la media de los datos.
111 112 113 114 115 116 117 118 |
# File 'lib/practica6/registro.rb', line 111 def calcular_media(datos_) mean = 0.0 datos_.each{ |x| mean = mean + x } mean /= datos_.length mean = ( mean * 100).round() / 100.0 end |
#calcular_pctj_grasa ⇒ Number
Returns retorna el porcentaje de grasas.
49 50 51 52 |
# File 'lib/practica6/registro.rb', line 49 def calcular_pctj_grasa pctj_grasa = (1.2 * self.calcular_imc()) + (0.23 * @edad) - (10.9 * @sexo) - 5.4 pctj_grasa = (pctj_grasa*100).round() / 100.0 end |
#calcular_rcc ⇒ Number
Returns retorna el rcc.
55 56 57 58 59 60 |
# File 'lib/practica6/registro.rb', line 55 def calcular_rcc cir_cintura = calcular_media(@cir_cintura) cir_cadera = calcular_media(@cir_cadera) rcc = cir_cintura / cir_cadera rcc = (rcc * 100).round() / 100.0 end |
#evaluar_imc ⇒ String
Returns retorna una cadena donde se evalúa el índice de masa corporal.
63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
# File 'lib/practica6/registro.rb', line 63 def evaluar_imc imc = calcular_imc() if (imc < 18.5) puts "IMG menor que 18.5, según la OMS bajo peso, popularmente asociamos a las personas con este índice como Aceptables." elsif (18.5 < imc && imc < 24.9) puts "IMC entre 18.5 y 24.5, según la OMS un índice adecuado, popularmente asociamos a las personas con este índice como Aceptables." elsif (25.0 < imc && imc < 29.9) puts "IMC entre 25.0 y 29.9, según la OMS un índice de sobrepeso, popularmente asociamos a las personas con este índice como con sobrepeso." elsif (30.0 < imc && imc < 34.9) puts "IMC entre 30.0 y 34.9, según la OMS un índice de Obesidad grado 1, popularmente asociamos a las personas con este índice como obesas." elsif (35.0 < imc && imc < 39.9) puts "IMC entre 35.0 y 39.9, según la OMS un índice de Obesidad grado 2, popularmente asociamos a las personas con este índice como obesas." elsif (imc > 40) puts "IMC mayor de 40, según la OMS un índice de Obesidad grado 2, popularmente asociamos a las personas con este índice como obesas." end end |
#evaluar_rcc ⇒ String
Returns retorna una cadena donde se evalúa el rcc.
84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 |
# File 'lib/practica6/registro.rb', line 84 def evaluar_rcc rcc = calcular_rcc() case @sexo when 0 if (0.72 < rcc && rcc < 0.75) puts "RCC entre 0.72 y 0.75 conlleva un riesgo bajo para una mujer" elsif (0.78 < rcc && rcc < 0.82) puts "RCC entre 0.78 y 0.82 conlleva un riesgo moderado para una mujer" elsif (rcc > 0.82) puts "RCC mayor que 0.82, conlleva un riesgo alto para una mujer" end when 1 if (0.83 < rcc && rcc < 0.88) puts "RCC entre 0.83 y 0.88 conlleva un riesgo bajo para un hombre" elsif (0.88 < rcc && rcc < 0.95) puts "RCC entre 0.88 y 0.95 conlleva un riesgo moderado para un hombre" elsif (0.95 < rcc && rcc < 1.01) puts "RCC entre 0.95 y 1.01 conlleva un riesgo alto para un hombre" elsif (rcc > 1.01) puts "RCC mayor de 1.01 conlleva un riesgo muy alto para un hombre" end end end |
#mostrar_info ⇒ String
Returns muestra la información del registro.
121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 |
# File 'lib/practica6/registro.rb', line 121 def mostrar_info() print("Nombre: ", @nombre) puts " " print("Peso: ", @peso) puts " " print("Talla: ", @talla) puts " " print("Edad: ", @edad) puts " " print("Sexo: ", @nombre) puts " " print("Circunferencia de la cintura: ", @cir_cintura) puts " " puts "Media: %0.2f" %[calcular_media(@cir_cintura)] print("Circunferencia de la cadera: ", @cir_cadera) puts " " puts "Media: %0.2f" %[calcular_media(@cir_cadera)] print("Circunferencia del brazo: ", @cir_brazo) puts " " puts "Media: %0.2f" %[calcular_media(@cir_brazo)] print("Pliegue tricipital ", @pl_tricipital) puts " " puts "Media: %0.2f" %[calcular_media(@pl_tricipital)] print("Pliegue bicicipital ", @pl_bicipital) puts " " puts "Media: %0.2f" %[calcular_media(@pl_bicipital)] print("Pliegue subescapular ", @pl_subescapular) puts " " puts "Media: %0.2f" %[calcular_media(@pl_subescapular)] print("Pliegue suprailiaco ", @pl_suprailiaco) puts " " puts "Media: %0.2f" %[calcular_media(@pl_suprailiaco)] evaluar_imc() evaluar_rcc() end |