Em um campeonato de futebol existem cinco times e cada um possui onze jogadores. Faça um programa que receba a idade, o peso e a altura de cada um dos jogadores, calcule e mostre:
  • a quantidade de jogadores com idade inferior a 18 anos;
  • a média das idades dos jogadores de cada time;
  • a média das alturas de todos os jogadores do campeonato; e
  • a porcentagem de jogadores com mais de 80 kg entre todos os jogadores do campeonato.

Passo 1

O enunciado pede que façamos um programa que leia a idade, o peso e a altura de todos os jogadores de um campeonato com cinco times, cada time com onze jogadores, e calcule/mostre quatro coisas:
  • a quantidade de jogadores com idade inferior a 18 anos;
  • a média das idades dos jogadores de cada time;
  • a média das alturas de todos os jogadores do campeonato;
  • a porcentagem de jogadores com mais de 80 kg entre todos os jogadores do campeonato.
Informações dadas:
  • número de times: 5;
  • número de jogadores por time: 11;
  • total de jogadores no campeonato: 5 \times 11 = 55;
  • para cada jogador recebemos três valores: idade, peso e altura.
O que o programa deve receber como entrada: para cada um dos 55 jogadores, os três valores (idade, peso, altura). O que deve produzir como saída: os quatro resultados listados acima.

Passo 2

Vamos entender as fórmulas / definições que usaremos (aqui explico devagar e com calma).
  1. Quantidade de jogadores com idade inferior a 18 anos: é só um contador que incrementamos sempre que encontrarmos um jogador com idade menor que 18. Em notação simples:
\text{contador\_menores} = \sum_{i=1}^{55} \mathbf{1}_{\{\text{idade}_i < 18\}}
onde \mathbf{1}_{\{\cdot\}} é 1 se a condição for verdadeira, e 0 caso contrário.
  1. Média das idades dos jogadores de cada time: para cada time t (onde t=1,\dots,5) somamos as idades dos seus 11 jogadores e dividimos por 11. Se chamarmos a soma das idades do time t de \text{SomaIdade}_t, então:
\text{MediaIdade}_t = \frac{\text{SomaIdade}_t}{11}
Aqui é importante: média é soma dividido pela quantidade de elementos.
  1. Média das alturas de todos os jogadores do campeonato: somamos todas as alturas (dos 55 jogadores) e dividimos por 55. Se \text{SomaAlturas} é essa soma, então:
\text{MediaAltura\_Geral} = \frac{\text{SomaAlturas}}{55}
  1. Porcentagem de jogadores com mais de 80 kg entre todos os jogadores: contamos quantos têm peso maior que 80 kg, chamemos de \text{contador\_peso}. A porcentagem é:
\text{Porcentagem} = \frac{\text{contador\_peso}}{55} \times 100\%
ou em número:
\text{Porcentagem} = 100 \times \frac{\text{contador\_peso}}{55}.

Passo 3

Agora vamos planejar passo a passo como o programa fará isso (variáveis, inicializações e laços). Vou explicar cada peça para você saber o porquê.
Variáveis que vamos usar:
  • para cada time t (1 a 5) teremos \text{SomaIdade}_t inicializada em 0;
  • \text{contador\_menores} inicializado em 0;
  • \text{SomaAlturas} inicializado em 0;
  • \text{contador\_peso} (para contar peso >80 kg) inicializado em 0.
Estrutura de leitura: dois laços aninhados
  • laço externo para percorrer os times: para t de 1 até 5;
  • laço interno para percorrer os jogadores do time t: para j de 1 até 11.
Para cada jogador lido (idade, peso, altura) faremos:
  1. adicionar a idade à \text{SomaIdade}_t;
  2. se \text{idade} < 18 então incrementar \text{contador\_menores};
  3. adicionar a altura em \text{SomaAlturas};
  4. se \text{peso} > 80 então incrementar \text{contador\_peso}.
Ao final dos laços:
  • para cada time t calcular \text{MediaIdade}_t = \text{SomaIdade}_t / 11;
  • calcular \text{MediaAltura\_Geral} = \text{SomaAlturas} / 55;
  • calcular \text{Porcentagem} = 100 \times \text{contador\_peso} / 55.

Passo 4

Vou explicar a lógica do cálculo da média com um exemplo pequeno e intuitivo (para você ver que é natural):
  • suponha um time com idades 18,19,20,17,16,22,21,18,20,19,17. A soma das idades é 18+19+20+17+16+22+21+18+20+19+17. Somando (faça comigo):
    • 18+19=37,
    • 37+20=57,
    • 57+17=74,
    • 74+16=90,
    • 90+22=112,
    • 112+21=133,
    • 133+18=151,
    • 151+20=171,
    • 171+19=190,
    • 190+17=207.
      Então \text{SomaIdade}=207. A média é:
    \text{MediaIdade} = \frac{207}{11} \approx 18{,}818\ldotsOu seja, soma dividido por número de jogadores.
Isso mostra que você não precisa de técnicas complicadas: é somar e dividir.

Passo 5

Vamos detalhar o pseudocódigo/estratégia linha a linha (imagina que você escreveu o programa junto comigo). Explico cada linha para você entender como fazer na prova:
  1. Inicialize uma lista (ou vetor) de 5 elementos \text{SomaIdade}[1..5] com zeros.
  2. Inicialize \text{contador\_menores}=0.
  3. Inicialize \text{SomaAlturas}=0{,}0.
  4. Inicialize \text{contador\_peso}=0.
  5. Para t de 1 até 5:
    5.1 Para j de 1 até 11:
    - leia \text{idade} (inteiro), \text{peso} (real), \text{altura} (real);
    - faça \text{SomaIdade}[t] \gets \text{SomaIdade}[t] + \text{idade};
    - se \text{idade} < 18 então \text{contador\_menores} \gets \text{contador\_menores} + 1;
    - faça \text{SomaAlturas} \gets \text{SomaAlturas} + \text{altura};
    - se \text{peso} > 80 então \text{contador\_peso} \gets \text{contador\_peso} + 1.
  6. Depois dos laços, para cada t calcule \text{MediaIdade}[t] = \dfrac{\text{SomaIdade}[t]}{11}.
  7. Calcule \text{MediaAltura\_Geral} = \dfrac{\text{SomaAlturas}}{55}.
  8. Calcule \text{Porcentagem\_peso} = 100 \times \dfrac{\text{contador\_peso}}{55}.
  9. Imprima os resultados formatados (por exemplo, média com duas casas decimais).
Observação importante: como os valores são dados jogador a jogador, você não precisa armazenar todos os dados; basta acumular somas e contadores — isso economiza memória e é o jeito correto em programação e também em prova.

Passo 6

Detalhes de formatação e cuidados que salvam na prova:
  • Sempre verifique se as divisões são feitas com números reais (não fazer divisão inteira por engano). Em linguagens como C, divida por 11.0 para garantir resto decimal; em Python basta usar /.
  • Para porcentagem, lembre-se de multiplicar por 100 após fazer a divisão.
  • Se pedirem arredondamento, combine sempre o número de casas decimais exigidas — aqui vou sugerir duas casas decimais para médias e porcentagem (ex.: 18{,}82).
  • Mensagens de saída: seja claro, por exemplo:
    • “Quantidade de jogadores com idade < 18: X”
    • “Média de idades do time 1: Y”
    • “Média das alturas do campeonato: Z”
    • “Porcentagem de jogadores com mais de 80kg: P%”

Passo 7

Exemplo fictício pequeno (para você ver como os contadores mudam):
  • suponha só 2 jogadores (exemplo reduzido): jogador A: idade 17, peso 78, altura 1{,}70; jogador B: idade 20, peso 85, altura 1{,}80.
    • \text{contador\_menores} = 1 (porque 17<18);
    • \text{SomaAlturas} = 1{,}70 + 1{,}80 = 3{,}50;
    • \text{contador\_peso} = 1 (porque 85>80);
    • médias e porcentagens são calculadas conforme as fórmulas já mostradas.

Passo 8

Resumo prático (passos que você realmente implementa na prova):
  1. Inicializar vetores/somas/contadores;
  2. Fazer dois laços aninhados (times e jogadores);
  3. Ler dados e atualizar somas/contadores;
  4. Após leitura total, calcular médias e porcentagem com as fórmulas:
\text{MediaIdade}_t = \frac{\text{SomaIdade}_t}{11},\qquad \text{MediaAltura\_Geral} = \frac{\text{SomaAlturas}}{55},\qquad \text{Porcentagem} = 100\cdot\frac{\text{contador\_peso}}{55}.
  1. Imprimir resultados com apresentação limpa.

Resposta

# Programa em Python que lê idade, peso e altura de 5 times com 11 jogadores cada
# e calcula:
# - quantidade de jogadores com idade < 18
# - média das idades de cada time
# - média das alturas de todos os jogadores
# - porcentagem de jogadores com peso > 80 kg

NUM_TIMES = 5
JOGADORES_POR_TIME = 11
TOTAL_JOGADORES = NUM_TIMES * JOGADORES_POR_TIME

soma_idade = [0] * NUM_TIMES
contador_menores = 0
soma_alturas = 0.0
contador_peso_maior_80 = 0

# Leitura: para cada time e para cada jogador do time, ler idade, peso, altura
for t in range(NUM_TIMES):
    for j in range(JOGADORES_POR_TIME):
        # espera-se que a entrada forneça três valores por jogador, separados por espaço ou em linhas separadas
        # ex.: "idade peso altura"  ->  "20 75.5 1.82"
        entrada = input().strip().split()
        # converter valores lidos
        idade = int(entrada[0])
        peso = float(entrada[1])
        altura = float(entrada[2])

        soma_idade[t] += idade
        if idade < 18:
            contador_menores += 1
        soma_alturas += altura
        if peso > 80.0:
            contador_peso_maior_80 += 1

# Cálculos finais
medias_idade = [s / JOGADORES_POR_TIME for s in soma_idade]
media_altura_geral = soma_alturas / TOTAL_JOGADORES
porcentagem_peso_maior_80 = 100.0 * contador_peso_maior_80 / TOTAL_JOGADORES

# Saída dos resultados
print(f"Quantidade de jogadores com idade < 18: {contador_menores}")
for t in range(NUM_TIMES):
    print(f"Média de idades do time {t+1}: {medias_idade[t]:.2f}")
print(f"Média das alturas do campeonato: {media_altura_geral:.2f}")
print(f"Porcentagem de jogadores com mais de 80kg: {porcentagem_peso_maior_80:.2f}%")

Exercícios relacionados