Construa um algoritmo que calcule a média aritmética das 3 notas dos alunos de uma classe. 0 algoritmo deverá ler, além das notas, o código (de três dígitos) do aluno e deverá ser encerrado quando o código for igual a zero.

Passo 1

O enunciado pede que construamos um algoritmo que faça o seguinte: leia repetidamente o código do aluno (um inteiro de três dígitos) e, para cada aluno, leia suas três notas e calcule a média aritmética dessas três notas. O algoritmo deve ser encerrado quando o código lido for igual a \,0.
Informações relevantes dadas pelo enunciado:
  • Entrada: o código do aluno (inteiro de três dígitos) e três notas (números reais).
  • Saída: a média aritmética das três notas para cada aluno processado.
  • Condição de parada: quando o código for igual a \,0.
  • Observação implícita: para cada aluno processado devemos mostrar a média antes de ler o próximo código.

Passo 2

Escolha do método de controle do laço: usamos um laço controlado por sentinela (sentinel loop). Sentinela é um valor especial que indica “pare” — aqui a sentinela é o código \,0. A ideia prática é:
  • Ler o código do aluno;
  • Se o código for \,0, interromper o algoritmo;
  • Caso contrário, ler as três notas, calcular a média e exibir o resultado; então voltar a ler o próximo código.
Por que isso é adequado? Porque o enunciado não indica quantos alunos existem antecipadamente, então não podemos usar um laço “para i de 1 até N”. Um laço controlado pela condição “enquanto o código != ,0” é simples e direto.

Passo 3

Conceito matemático que usamos: média aritmética simples de três valores. A fórmula é
\text{média} = \frac{\text{nota}_1 + \text{nota}_2 + \text{nota}_3}{3}.é
Explicando a fórmula de forma bem clara:
  • \text{nota}_1, \text{nota}_2 e \text{nota}_3 são os três números que o aluno obteve;
  • Soma-se os três números;
  • Divide-se o resultado por \,3 (pois são três notas);
  • O quociente é a média aritmética.
Importante: ao implementar, garantir que a divisão produza resultado em ponto flutuante (não fazer divisão inteira). Em linguagens modernas de alto nível a divisão padrão entre números reais já produz ponto flutuante.
Exemplo numérico pequeno para fixar:
  • Se as notas forem \,7,5, \,8,0 e \,6,5, então
\text{média} = \frac{7,5 + 8,0 + 6,5}{3} = \frac{22,0}{3} \approx 7,333\ldotsé
Podemos arredondar para duas casas decimais e mostrar \,7{,}33 se desejar uma apresentação mais limpa.

Passo 4

Tratamento de validade do código (opcional, mas didático):
  • O enunciado diz “código (de três dígitos)”. Para checar se o código tem três dígitos usamos: o código é um inteiro e seu valor absoluto está entre \,100 e \,999 (ou entre -999 e -100 se números negativos fossem permitidos, mas normalmente códigos são não-negativos). Em termos práticos, para aceitar apenas códigos de três dígitos verificamos:
    • se \,100 \le \text{código} \le 999ó.
  • Porém, como o enunciado exige parada em \,0, permitimos esse caso especial. Se um código inválido for lido, podemos avisar o usuário e pedir novamente (ou simplesmente ignorar e seguir; aqui vou mostrar a versão que avisa e pede novamente).
Observação: muitas listas de exercícios não exigem essa validação — ela é apenas uma melhoria.

Passo 5

Esqueleto do algoritmo em pseudocódigo comentado, passo a passo (bem mastigado, do jeito que você pode escrever na prova):
Início:
  1. Ler o código do aluno.
  2. Enquanto o código for diferente de \,0 faça:
    2.1. Se o código não estiver entre \,100 e \,999 então:
    - Exibir mensagem de código inválido (opcional).
    - Ler o próximo código (voltar ao começo do laço).
    2.2. Ler \text{nota}_1.
    2.3. Ler \text{nota}_2.
    2.4. Ler \text{nota}_3.
    2.5. Calcular a média usando a fórmula \text{média} = \frac{\text{nota}_1 + \text{nota}_2 + \text{nota}_3}{3}.é2.6. Exibir a média do aluno (por exemplo, “Código: <código> - Média: <média>”).
    2.7. Ler o próximo código do aluno.
  3. Fim do laço e do algoritmo quando o código for \,0.
Explicando cada ação para você poder reproduzir na prova:
  • Primeiro fazemos uma leitura inicial do código (chama-se “leitura priming” ou “priming read”); sem essa leitura inicial não conseguimos verificar a condição antes de entrar no laço.
  • Dentro do laço, depois de processar o aluno atual, lemos novamente o código para testar se devemos continuar ou parar.
  • O cálculo da média é direto: soma das três notas dividido por \,3.
  • A checagem de validade do código é apenas para assegurar que o número tem três dígitos; é opcional conforme o enunciado.

Passo 6

Exemplo de execução (mostrando entradas e saídas) para fixar o fluxo. Suponha as seguintes entradas na ordem em que o algoritmo lê:
  • Código: \,123
  • Notas: \,7{,}5, \,8{,}0, \,6{,}5
  • Código: \,456
  • Notas: \,9{,}0, \,5{,}5, \,8{,}0
  • Código: \,0
Passo a passo:
  • Leu \,123 (não é \,0), leu as três notas e calculou
\text{média} = \frac{7{,}5 + 8{,}0 + 6{,}5}{3} = \frac{22{,}0}{3} \approx 7{,}33.é
Exibe: “Código: 123 - Média: 7,33” (se formatar com duas casas).
  • Lê próximo código \,456 (não é \,0), leu as três notas e calculou
\text{média} = \frac{9{,}0 + 5{,}5 + 8{,}0}{3} = \frac{22{,}5}{3} = 7{,}5.é
Exibe: “Código: 456 - Média: 7,50”.
  • Lê próximo código \,0 → condição de parada → encerra.

Passo 7

Implementação prática curta em estilo pseudocódigo final, pronta para copiar na prova:
Inicio
Ler código
Enquanto código ≠ 0 faça
Se código < 100 ou código > 999 então
Exibir “Código inválido. Digite um código de três dígitos ou 0 para sair.”
Ler código
Continuar (ir para o início do laço)
Fim se
Ler nota1
Ler nota2
Ler nota3
média ← (nota1 + nota2 + nota3) / 3
Exibir “Código:”, código, “- Média:”, média (formatar se quiser)
Ler código
Fim enquanto
Fim
Dicas finais para a prova:
  • Escreva claramente a fórmula da média como mostrado; se pedirem, justifique que dividimos por \,3 porque são três notas.
  • Se a linguagem da prova for estruturada (pseudocódigo), use “Enquanto” / “Se” / “Ler” / “Exibir”. Se for pedir em linguagem real (por exemplo, Python), a lógica é a mesma.
  • Não esqueça de ler o próximo código ao final do laço — esse é o erro mais comum (esquecer a leitura dentro do laço e criar loop infinito).

Resposta

Inicio
Ler código
Enquanto código ≠ 0 faça
Se código < 100 ou código > 999 então
Exibir “Código inválido. Digite um código de três dígitos ou 0 para sair.”
Ler código
Continuar
Fim se
Ler nota1
Ler nota2
Ler nota3
média ← (nota1 + nota2 + nota3) / 3
Exibir “Código:”, código, “- Média:”, média
Ler código
Fim enquanto
Fim

Exercícios relacionados