Sha256: 45ad310c8cca206ee7d366d09e9555d0c4f8759d0c3d01d46a5e671674cb73c2
Contents?: true
Size: 1.44 KB
Versions: 1
Compression:
Stored size: 1.44 KB
Contents
# frozen_string_literal: true require_relative "imc_alves/version" module ImcAlves class Error < StandardError; end # Classe saúde. Calcular o IMC (Índice de massa corporal) class Pessoa attr_reader :imc, :estado_nutricional # peso | altura def initialize(peso, altura) @peso = peso @altura = altura @imc = calc_imc @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 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 private def calc_imc (@peso / @altura**2).round(2) end def est_nutri @est_nut.each do |k, v| return k if @imc < v[0] end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
imc_alves-0.1.2 | lib/imc_alves.rb |