Escrever um programa que calcule a média aritmética das três notas dos alunos de uma classe. O algoritmo deverá ler, além das notas, o código do aluno, e deverá ser encerrado quando o código for igual a zero. Mostrar o resultado final.

Passo 1

O que o enunciado pede e quais dados temos:
  • Pede: escrever um programa que calcule a média aritmética das três notas de cada aluno da turma.
  • Condição de parada: o programa deverá ler o código do aluno e encerrar quando o código for igual a zero.
  • Para cada aluno (com código diferente de zero) o programa deve:
    • ler o código do aluno;
    • ler as três notas desse aluno;
    • calcular a média das três notas;
    • mostrar o resultado (normalmente exibindo o código do aluno e a média).
  • Dados de entrada por aluno: o código do aluno (um inteiro) e três notas (números).
  • Saída esperada por aluno: a média aritmética das três notas (por exemplo com duas casas decimais) associada ao código do aluno.

Passo 2

Conceito matemático necessário (explicando devagar e sem pular etapas):
  • A média aritmética das três notas n_1, n_2 e n_3 é dada por
\text{média} = \frac{n_1 + n_2 + n_3}{3}.é
  • O que cada símbolo significa:
    • n_1, n_2, n_3 são as três notas do aluno;
    • \text{média}é é o número resultante que representa a média aritmética;
    • O símbolo \frac{\cdot}{3} significa dividir a soma das três notas por 3, porque são três valores.
  • Exemplo numérico rápido para fixar: se as notas forem 7, 8{,}5 e 6, então
\text{média}=\frac{7 + 8{,}5 + 6}{3}=\frac{21{,}5}{3}=7{,}166\ldotsé
que arredondando para duas casas fica 7{,}17.

Passo 3

Estratégia do programa (passo a passo lógico, sem código ainda):
  1. Repetir a leitura até o usuário digitar o código 0 (sentinela).
  2. Para cada iteração:
    • Ler o código do aluno.
    • Se o código for 0, terminar o laço e encerrar o programa.
    • Senão, ler as três notas do aluno.
    • Calcular a média usando a fórmula da Passo 2.
    • Exibir a média junto com o código do aluno.
  3. Voltar a ler o próximo código e repetir.
Explicação do conceito “sentinela”:
  • Um valor sentinela é um valor especial que indica que não há mais dados a processar; aqui o sentinela é o código igual a 0.
  • Ao detectar o sentinela, o programa interrompe a repetição (laço).

Passo 4

Como transformar a estratégia em um programa em Python (explicações de cada construção que usaremos):
  • Laço repetitivo: em Python podemos usar while True: e usar break quando encontrarmos o sentinela. Isso significa: “repita para sempre, até que um break ocorra”.
  • Leitura de entrada: input() lê uma linha do teclado como texto; para transformar em inteiro usamos int(...), para transformar em número com casas decimais usamos float(...).
  • Conversões: se fizer codigo = int(input()), está pegando o texto digitado e transformando em inteiro; se o usuário digitar algo inválido isso dá erro — em provas geralmente assumimos entradas válidas.
  • Cálculo da média: somar três variáveis e dividir por 3. Em Python media = (n1 + n2 + n3) / 3.
  • Formatação da saída: para mostrar com duas casas decimais, usamos formatação f"{media:.2f}" ou format(media, ".2f"). Isso apresenta sempre duas casas decimais (ex.: 7.17).
  • Mostrar o resultado: usar print(...) para apresentar no console.

Passo 5

Boas práticas e pequenas variações que você pode usar na prova:
  • Validar notas (opcional): verificar se cada nota está entre 0 e 10 antes de calcular; se a prova não pede, normalmente não é necessário implementar validação.
  • Exibir cabeçalho ou instruções (opcional): em contextos de avaliação automática geralmente espera-se exatamente o formato pedido; aqui uma saída no formato Código X: média Y é clara.
  • Tratar entradas até o sentinela: sempre verificar o sentinela imediatamente após ler o código para não tentar ler notas quando o código for 0.

Passo 6

Exemplo de execução manual (mostrando como deve fluir a interação; isso ajuda a entender o comportamento):
  • Usuário digita 101 (código do aluno).
  • Usuário digita 7 8,5 6 (três notas).
  • Programa calcula média = \dfrac{7 + 8{,}5 + 6}{3}=7{,}166\ldots e imprime, por exemplo, Codigo 101: media = 7.17.
  • Em seguida solicita o próximo código.
  • Se o usuário digitar 0 no próximo código, o programa encerra sem ler notas.

Resposta

# Programa para calcular a média aritmética de três notas por aluno.
# O programa lê o código do aluno; se o código for 0, encerra.
# Para cada código diferente de 0, lê três notas, calcula a média e imprime o resultado.

while True:
    codigo = int(input("Digite o código do aluno (0 para terminar): "))
    if codigo == 0:
        break
    # Leitura das três notas
    n1 = float(input("Digite a primeira nota: "))
    n2 = float(input("Digite a segunda nota: "))
    n3 = float(input("Digite a terceira nota: "))
    # Cálculo da média aritmética
    media = (n1 + n2 + n3) / 3
    # Impressão da média com duas casas decimais
    print(f"Código {codigo}: média = {media:.2f}")

Exercícios relacionados