Mobile App Development · Dart/Flutter

14 · Desafio IMC

Calcule o Índice de Massa Corporal (IMC) e classifique o resultado em faixas, usando funções, double e cadeias de if.

1Objetivo da aula

Criar um programa que calcule o IMC (Índice de Massa Corporal) a partir de peso e altura, usando a fórmula IMC = peso / (altura * altura), e classifique o resultado em uma das quatro faixas: abaixo do peso, peso normal, sobrepeso ou obesidade.

2O que vamos aprender

peso / (altura * altura)

A fórmula do IMC: peso em quilos dividido pela altura em metros ao quadrado.

double

Peso, altura e o próprio IMC são números com casas decimais.

String funcao(double x)

Extrair a classificação para uma função separada deixa o main() mais legível e reaproveitável.

if / return em cadeia

Uma sequência de if com return antecipado testa as faixas em ordem crescente, sem precisar de else.

toStringAsFixed(2)

Formata o IMC calculado com duas casas decimais para exibição.

stdin.readLineSync()

Usado no desafio para ler peso e altura digitados pelo usuário em vez de valores fixos no código.

3Exemplo comentado

void main() {
  final peso = 72.0;
  final altura = 1.75;

  final imc = peso / (altura * altura);
  final classificacao = classificarImc(imc);

  print('IMC: ${imc.toStringAsFixed(2)}');
  print('Classificação: $classificacao');
}

String classificarImc(double imc) {
  if (imc < 18.5) return 'Abaixo do peso';
  if (imc < 25.0) return 'Peso normal';
  if (imc < 30.0) return 'Sobrepeso';
  return 'Obesidade';
}

4Saída esperada

IMC: 23.51
Classificação: Peso normal

5Do conteúdo para a prática

6Prática sugerida