Desenvolva uma função que receba uma lista com quatro notas e retorne a média final. Caso a média seja igual ou superior a 7, apresentar a mensagem “APROVADO”; caso a média seja menor que 7 e maior ou igual a 4, apresentar a mensagem “PROVA FINAL”, e caso a média seja menor que 4, apresentar a mensagem “REPROVADO”.

Passo 1

O enunciado pede que a gente crie uma função que receba uma lista com 4 notas e retorne a média final. Além disso, com base nessa média, a função deve apresentar uma mensagem conforme as regras:
  • Se a média for maior ou igual a 7, a mensagem deve ser “APROVADO”.
  • Se a média for menor que 7 e maior ou igual a 4, a mensagem deve ser “PROVA FINAL”.
  • Se a média for menor que 4, a mensagem deve ser “REPROVADO”.
Informações relevantes dadas:
  • A entrada é uma lista contendo exatamente 4 valores numéricos (as notas).
  • A saída exigida inclui a média final e a apresentação da mensagem correspondente ao intervalo da média.
  • As fronteiras importantes são os números 7 e 4.

Passo 2

Entender como calcular a média de 4 notas (a parte matemática simples que precisamos dominar).
A fórmula da média aritmética de quatro notas n_1,n_2,n_3,n_4 é:
\text{média} = \frac{n_1 + n_2 + n_3 + n_4}{4}.é
Explicando: somamos as quatro notas e dividimos o total por 4. Cada n_i representa uma nota (pode ser decimal). Essa operação dá um número que é a média simples — o que queremos comparar com 7 e 4.

Passo 3

Como decidir a mensagem a partir da média — lógica de comparação (controle de fluxo).
Precisamos testar a média em três casos mutuamente exclusivos e cobrir todas as possibilidades:
  1. Se \text{média} \ge 7é: mensagem “APROVADO”.
  2. Senão, se \text{média} \ge 4é (ou seja, 4 \le \text{média} < 7é): mensagem “PROVA FINAL”.
  3. Senão (ou seja, \text{média} < 4é): mensagem “REPROVADO”.
Por que nessa ordem? Porque a verificação de \text{média} \ge 7é captura os casos de aprovação; se falharmos nessa verificação, testar \text{média} \ge 4é garante que estamos lidando apenas com médias menores que 7, então a segunda condição identifica o intervalo do meio. Se nenhuma das duas for verdadeira, sobra o caso de reprovação.

Passo 4

Especificação da função (o que ela deve receber e retornar) e decisões de implementação.
Decidimos que a função:
  • Recebe um único parâmetro, uma lista chamada, por exemplo, de notas contendo exatamente 4 números.
  • Calcula a média usando a fórmula do Passo 2.
  • Determina a mensagem seguindo a lógica do Passo 3.
  • Retorna dois valores: a média (um número) e a mensagem (string). Retornar ambos é útil na prova: a média permite conferência numérica e a mensagem é a saída textual exigida.
Também faremos checagens simples:
  • Verificar se a lista tem exatamente 4 elementos; caso contrário, podemos lançar um erro (ou retornar mensagem de erro).
  • Verificar se todos os elementos são numéricos; caso contrário, lançar erro.

Passo 5

Pseudocódigo passo a passo para implementar a função (versão mastigada, você pode copiar para a prova mentalmente):
  1. Receber a lista L.
  2. Se o tamanho de L não for 4, sinalizar erro (por exemplo, lançar exceção).
  3. Calcular S = n_1 + n_2 + n_3 + n_4.
  4. Calcular \text{média} = S / 4é.
  5. Se \text{média} \ge 7é, então mensagem = “APROVADO”.
  6. Senão, se \text{média} \ge 4é, então mensagem = “PROVA FINAL”.
  7. Senão, mensagem = “REPROVADO”.
  8. Retornar \text{média}é e mensagem.

Passo 6

Implementação em Python (explicando cada linha pra você replicar com calma na prova, se pedir pseudocódigo ou código):
  • A ideia é usar funções e estruturas condicionais simples: soma, divisão e if / elif / else.
  • Ao calcular a média, usamos divisão normal; se quiser, podemos arredondar (por exemplo, duas casas decimais) com a função apropriada, mas a especificação não exige arredondamento.
Na prova, se pedirem só o algoritmo, o pseudocódigo do Passo 5 já basta. Se pedirem implementação, o código abaixo é uma boa resposta prática.

Passo 7

Exemplos manuais para fixar (faça na caneta e papel ou mentalmente):
Exemplo A: notas [8, 7, 6, 9]
  • Soma: 8 + 7 + 6 + 9 = 30.
  • Média: 30 / 4 = 7,5.
  • Como 7{,}5 \ge 7, mensagem = “APROVADO”.
Exemplo B: notas [5, 4, 6, 3]
  • Soma: 5 + 4 + 6 + 3 = 18.
  • Média: 18 / 4 = 4{,}5.
  • 4{,}5 < 7 e 4{,}5 \ge 4, então mensagem = “PROVA FINAL”.
Exemplo C: notas [2, 3, 4, 3]
  • Soma: 2 + 3 + 4 + 3 = 12.
  • Média: 12 / 4 = 3.
  • 3 < 4, então mensagem = “REPROVADO”.
Fazendo esses exemplos você fixa a ordem das condições e como a média é calculada.

Passo 8

Observações finais e dicas de prova (motivação e lembretes práticos):
  • Lembre-se sempre de checar se a entrada tem 4 elementos; isso evita erros bobos na prova.
  • A ordem das condições é importante: verifique primeiro a condição mais restritiva ( \text{média} \ge 7é), depois a do meio ( \text{média} \ge 4é), e por fim o caso restante.
  • Se a prova pedir apenas a lógica ou o fluxograma, use o pseudocódigo do Passo 5.
  • Você consegue! Respira, faz um exemplo com números e repete a lógica: soma, divide, compara — é sempre a mesma sequência.

Resposta

def media_final(notas):
    """
    Recebe uma lista 'notas' com exatamente 4 valores numéricos.
    Retorna uma tupla (media, status) onde 'media' é a média aritmética
    das 4 notas e 'status' é uma string: "APROVADO", "PROVA FINAL" ou "REPROVADO".
    """
    if not isinstance(notas, (list, tuple)):
        raise TypeError("Entrada deve ser uma lista ou tupla com 4 notas.")
    if len(notas) != 4:
        raise ValueError("A lista deve conter exatamente 4 notas.")
    try:
        soma = float(notas[0]) + float(notas[1]) + float(notas[2]) + float(notas[3])
    except (TypeError, ValueError):
        raise ValueError("Todos os elementos da lista devem ser números.")
    media = soma / 4.0
    if media >= 7.0:
        status = "APROVADO"
    elif media >= 4.0:
        status = "PROVA FINAL"
    else:
        status = "REPROVADO"
    return media, status

Exercícios relacionados