Class: ImcAlves::Pessoa
- Inherits:
-
Object
- Object
- ImcAlves::Pessoa
- Defined in:
- lib/imc_alves.rb
Overview
Classe saúde. Calcular o IMC (Índice de massa corporal)
Instance Attribute Summary collapse
-
#estado_nutricional ⇒ Object
readonly
Returns the value of attribute estado_nutricional.
-
#imc ⇒ Object
readonly
Returns the value of attribute imc.
Instance Method Summary collapse
- #calc_imc ⇒ Object
-
#initialize(peso, altura) ⇒ Pessoa
constructor
peso | altura.
- #status ⇒ Object
Constructor Details
#initialize(peso, altura) ⇒ Pessoa
peso | altura
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/imc_alves.rb', line 13 def initialize(peso, altura) @peso = peso @altura = altura @imc = calc_imc @en_index = 0 @est_nut = { 'Desnutrição Grau V': [10, "< 10"], 'Desnutrição Grau IV': [13, "10 a 12.9"], 'Desnutrição Grau III': [16, "13 a 15.9"], 'Desnutrição Grau II': [17, "16 a 16.9"], 'Desnutrição Grau I': [18.5, "17 a 18.4"], 'Normal': [25, "18.5 a 24.9"], 'Pré-obesidade': [30, "25 a 29.9"], 'Obesidade Grau I': [35, "30 a 34.9"], 'Obesidade Grau II': [40, "35 a 39.9"], 'Obesidade Grau III': [1000, "> 40"] } @estado_nutricional = est_nutri end |
Instance Attribute Details
#estado_nutricional ⇒ Object (readonly)
Returns the value of attribute estado_nutricional.
10 11 12 |
# File 'lib/imc_alves.rb', line 10 def estado_nutricional @estado_nutricional end |
#imc ⇒ Object (readonly)
Returns the value of attribute imc.
10 11 12 |
# File 'lib/imc_alves.rb', line 10 def imc @imc end |
Instance Method Details
#calc_imc ⇒ Object
35 36 37 |
# File 'lib/imc_alves.rb', line 35 def calc_imc (@peso / @altura**2).round(2) end |
#status ⇒ Object
39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/imc_alves.rb', line 39 def status puts "IMC: #{@imc}" puts "Estado Nutricional: #{@estado_nutricional}" puts "Valor de referência: #{@est_nut[@estado_nutricional][1]}" if @estado_nutricional == :Normal puts "Parabéns! Você está no peso ideal" else peso = (24 * @altura**2).round(1) puts "Seu peso ideal é #{peso}kg" end end |