Class: Antro

Inherits:
Guy
  • Object
show all
Includes:
Comparable
Defined in:
lib/prct06/antro.rb

Instance Attribute Summary collapse

Attributes inherited from Guy

#dni, #nombre

Instance Method Summary collapse

Constructor Details

#initialize(peso, altura, edad, sexo, cintura, cadera, actividad) ⇒ Antro

Definicion del metodo initialize de la clase antropometrico



10
11
12
# File 'lib/prct06/antro.rb', line 10

def initialize(peso, altura, edad, sexo, cintura, cadera, actividad)
		@peso ,@altura ,@edad ,@sexo, @cintura, @cadera, @actividad = peso, altura, edad, sexo, cintura, cadera, actividad
end

Instance Attribute Details

#actividadObject (readonly)

Definicion de atributos de la clase



7
8
9
# File 'lib/prct06/antro.rb', line 7

def actividad
  @actividad
end

#alturaObject (readonly)

Definicion de atributos de la clase



7
8
9
# File 'lib/prct06/antro.rb', line 7

def altura
  @altura
end

#caderaObject (readonly)

Definicion de atributos de la clase



7
8
9
# File 'lib/prct06/antro.rb', line 7

def cadera
  @cadera
end

#cinturaObject (readonly)

Definicion de atributos de la clase



7
8
9
# File 'lib/prct06/antro.rb', line 7

def cintura
  @cintura
end

#edadObject (readonly)

Definicion de atributos de la clase



7
8
9
# File 'lib/prct06/antro.rb', line 7

def edad
  @edad
end

#pesoObject (readonly)

Definicion de atributos de la clase



7
8
9
# File 'lib/prct06/antro.rb', line 7

def peso
  @peso
end

#sexoObject (readonly)

Definicion de atributos de la clase



7
8
9
# File 'lib/prct06/antro.rb', line 7

def sexo
  @sexo
end

Instance Method Details

#<=>(other) ⇒ Object

Función de sobrecarga de los operadores comparables



59
60
61
# File 'lib/prct06/antro.rb', line 59

def <=> (other)
	imc <=> other.imc
end

#g_energeticoObject

Funcion para calcular el gasto energetico total



31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/prct06/antro.rb', line 31

def g_energetico
	if(@sexo == 1)
		@g_energetico_basal = (10 * @peso) + (6.25 * @altura) - (5 * @edad) + 5
	else
		@g_energetico_basal = (10 * @peso) + (6.25 * @altura) - (5 * @edad) - 161
	end

	@efecto_termogeno = @g_energetico_basal * 0.1

	if (@actividad == "reposo")
		@factor_Actividad = 0.0
	elsif (@actividad == "ligera")
		@factor_Actividad = 0.12
	elsif (@actividad == "moderada")
		@factor_Actividad = 0.27
	else
		@factor_Actividad = 0.54
	end

	@gasto_actividad = @g_energetico_basal.to_f * @factor_actividad.to_f

	@g_energetico = @g_energetico_basal + @efecto_termogeno + @gasto_actividad

	return @g_energetico

end

#imcObject

Función que calcula el imc de una persona



15
16
17
# File 'lib/prct06/antro.rb', line 15

def imc
	@imc = (@peso)/(@altura*@altura)
end

#pgcObject

Función que calcula el porcentaje de grasa de una persona



20
21
22
23
# File 'lib/prct06/antro.rb', line 20

def pgc
        @pgc = 1.2 * @imc + 0.23 * @edad - 10.8 * @sexo - 5.4
        @pgc.round(4)
end

#rccObject

Función que calcula el RCC de una persona



26
27
28
# File 'lib/prct06/antro.rb', line 26

def rcc
        @rcc = @cintura.to_f / @cadera.to_f
end