Faça um programa que receba a idade, a altura e o peso de cinco pessoas, calcule e mostre:
- A quantidade de pessoas com idade superior a 50 anos;
- A média das alturas das pessoas com idade entre 10 e 20 anos;
- A porcentagem de pessoas com peso inferior a 40 kg entre todas as pessoas analisadas.
Passo 1
O enunciado pede que façamos um programa que leia, para exatamente cinco pessoas, três dados: a idade, a altura e o peso. A partir desses dados, o programa deve calcular e mostrar três coisas separadas:
- A quantidade de pessoas com idade superior a
anos. - A média das alturas das pessoas cuja idade está entre
e anos (incluindo e presumivelmente). - A porcentagem de pessoas com peso inferior a
kg, em relação ao total de pessoas analisadas (que é pessoas).
Informações relevantes dadas pelo enunciado:
- Número total de pessoas:
. - Para cada pessoa temos: idade (inteiro), altura (número real) e peso (número real).
- Resultados pedidos: um contador de idosos (>
), uma média de alturas condicionada (idade entre e ), e uma porcentagem de pessoas com peso < kg.
Passo 2
Vamos definir as variáveis que o programa vai usar (o que cada uma guarda) e os valores iniciais:
-
— número total de pessoas (constante). -
— contador de pessoas com idade . Inicia em . -
— contador de pessoas com idade entre e (inclusive). Inicia em . -
— acumulador da soma das alturas de quem tem idade entre e . Inicia em . -
— contador de pessoas com peso kg. Inicia em .
Porque usar contadores e acumuladores?
- Contador: guarda quantas entradas satisfazem uma condição (ex.: idade > 50).
- Acumulador: soma valores (ex.: alturas) para depois calcular média dividindo pela quantidade (contador correspondente).
Passo 3
Explicação do processo passo a passo (algoritmo):
- Repetir para cada uma das
pessoas: - Ler a idade, a altura e o peso.
- Se a idade for maior que
, incrementar em . - Se a idade estiver entre
e (inclusive), incrementar em e somar a altura a . - Se o peso for menor que
, incrementar em .
- Após ler os
registros, calcular: - A média das alturas para o grupo
idade pela fórmula da média: Observação importante: devemos proteger contra divisão por zero — se então não existe média (podemos mostrar ou uma mensagem dizendo “nenhuma pessoa nesta faixa”). - A porcentagem de pessoas com peso <
kg:
- A média das alturas para o grupo
- Exibir os três resultados:
, a média (ou mensagem), e a porcentagem.
Passo 4
Pequena “aula” sobre média e porcentagem (para ficar bem mastigado):
- Média aritmética: se você tem
alturas , a média é No nosso caso e . - Porcentagem: dizer “x por cento de 5” significa
. Mais genericamente, se temos ocorrências em casos, a porcentagem é - Evitar divisão por zero: sempre verificar se o denominador é diferente de
antes de dividir. Se for , tratar o caso separadamente (ex.: mostrar que não há pessoas naquela faixa para calcular a média).
Passo 5
Atualização por iteração — exatamente o que fazer quando lemos uma pessoa (mostro em palavras bem claras pra você replicar na prova):
- Ler
. - Se
então faça . - Se
então: -
. -
.
-
- Se
- Ler
. - Se
então .
- Se
Isso é só aplicar condicionais e atualizações de variáveis — nada mágico, é repetição + testes + soma.
Passo 6
Mostro agora um exemplo concreto com cinco pessoas (eu escolho números só para ilustrar passo a passo — isso te ajuda a ver as contas). Dados de exemplo (vou listar
,
,
):
Agora passo a passo as atualizações (começando todos os contadores em
e o acumulador em
):
- Pessoa 1:
então . Idade não está entre e . Peso então . - Pessoa 2:
entra na faixa , então e . Peso sem incremento no contador de peso. - Pessoa 3:
entra na faixa, , . Peso então . - Pessoa 4:
não entra em nenhuma das duas faixas de idade; peso então . - Pessoa 5:
então . Peso então .
Resultados intermediários ao fim:
-
. -
e . -
.
Agora as contas finais: - Média das alturas na faixa
: - Porcentagem de pessoas com peso <
kg:
Então, para esses dados de exemplo, os resultados seriam:
- Quantidade com idade >
: . - Média das alturas entre
e : m. - Porcentagem com peso <
kg: .
Passo 7
Sugestão de implementação em Python (explicada): o programa abaixo segue exatamente o algoritmo que descrevemos: inicializa contadores, itera
vezes, faz leituras com a função
, converte para o tipo adequado (
para idade,
para altura e peso), atualiza variáveis e calcula os resultados no final. Também trata o caso em que não há pessoas na faixa
(evita divisão por zero imprimindo uma mensagem apropriada).
Resposta
# Programa que lê idade, altura e peso de 5 pessoas e calcula os resultados pedidos.
total = 5
count_over_50 = 0
count_10_20 = 0
height_sum_10_20 = 0.0
count_weight_below_40 = 0
for i in range(total):
idade = int(input("Idade: "))
altura = float(input("Altura (m): "))
peso = float(input("Peso (kg): "))
if idade > 50:
count_over_50 += 1
if 10 <= idade <= 20:
count_10_20 += 1
height_sum_10_20 += altura
if peso < 40:
count_weight_below_40 += 1
# Cálculo da média das alturas na faixa 10..20 (com proteção contra divisão por zero)
if count_10_20 > 0:
average_height_10_20 = height_sum_10_20 / count_10_20
else:
average_height_10_20 = None # sinaliza que não há dados nessa faixa
# Cálculo da porcentagem de pessoas com peso < 40 kg
percentage_below_40 = (count_weight_below_40 / total) * 100
# Saída dos resultados
print(f"Quantidade de pessoas com idade > 50: {count_over_50}")
if average_height_10_20 is not None:
print(f"Média das alturas (idade entre 10 e 20): {average_height_10_20:.3f} m")
else:
print("Média das alturas (idade entre 10 e 20): nao ha pessoas nessa faixa")
print(f"Porcentagem de pessoas com peso < 40 kg: {percentage_below_40:.1f}%")