Pesquise sobre as funções “sum”, “max” e “min”. Desenvolva uma função que receba uma lista com quatro notas e retorne: a média dos elementos da lista, a maior nota e a menor nota.
Passo 1
O que o enunciado pede: desenvolver uma função que receba uma lista com quatro notas e retorne três coisas: 1) a média dos elementos dessa lista, 2) a maior nota e 3) a menor nota.
Informações dadas (explicitadas): a entrada é uma lista contendo exatamente quatro elementos (notas). A saída deve conter a média, o máximo e o mínimo desses quatro valores.
Informações dadas (explicitadas): a entrada é uma lista contendo exatamente quatro elementos (notas). A saída deve conter a média, o máximo e o mínimo desses quatro valores.
Passo 2
Entendendo as funções que vamos usar (explicação didática e com exemplos numéricos):
- A função “sum”: ela soma todos os elementos de uma sequência. Exemplo: para a lista
, temos
- A função “max”: ela retorna o maior elemento da sequência. No mesmo exemplo,
- A função “min”: ela retorna o menor elemento da sequência. No mesmo exemplo,
Essas três funções são operações diretas sobre a lista; em muitas linguagens (por exemplo Python) já existem como built-ins e funcionam em tempo linear: percorrem a lista uma vez (ou algumas vezes) e retornam o resultado.
Passo 3
Fórmula da média que vamos aplicar e o que cada símbolo significa:
Se as quatro notas são , a média é dada por
Se as quatro notas são
Aqui,
significa "somar
até
". O divisor
é porque temos quatro notas.
Passo 4
Por que usar as funções built-in (
,
,
) em vez de escrever o laço manual?
- São mais curtas e claras para implementar numa prova/prática.
- Funcionam corretamente com números inteiros e com ponto flutuante.
- São eficientes (complexidade linear).
Portanto adotamos essas funções para a solução.
Passo 5
Algoritmo passo a passo (em palavras) que a função irá executar:
- Verificar se a lista tem exatamente quatro elementos. Se não tiver, sinalizar erro (para evitar resultado errado).
- Calcular a soma dos quatro elementos usando
. - Dividir a soma por
para obter a média, conforme a fórmula do Passo 3. - Obter a maior nota com
. - Obter a menor nota com
. - Retornar os três valores: média, maior e menor (por exemplo, como uma tupla).
Passo 6
Explicação linha a linha do código (vou usar Python como exemplo prático — é claro, a ideia é a mesma em outras linguagens):
- Linha que recebe o parâmetro: a função recebe uma lista chamada
. - Validação: checamos se
. Aqui é o número de elementos da lista. - Soma:
. Isso calcula . - Média:
. Aqui usamos divisão normal; se as notas forem floats, a média será float. - Máximo:
. - Mínimo:
. - Retorno: a função devolve
.
Passo 7
Exemplo numérico passo a passo, aplicando o algoritmo a
:
- Soma:
- Média:
- Maior:
- Menor:
Portanto a função deveria retornarpara esse exemplo.
Passo 8
Observações práticas e de prova:
- Se quiseres, podes aceitar listas com mais ou menos de quatro elementos e adaptar o divisor para o tamanho
usando na fórmula da média: . Mas o enunciado pediu exatamente quatro notas, então validamos . - Tratar tipos: se a lista tiver elementos não numéricos, a função deve lançar erro (isso evita resultados confusos). Em prova, uma validação simples é suficiente.
- O retorno em forma de tupla é simples de usar: quem chama a função pode fazer
.
Passo 9
Pronto — abaixo está a implementação em Python conforme explicado. Use-a como resposta final no seu caderno / prova se for permitido código; se a prova pedir só a ideia, copie o algoritmo do Passo 5.
Resposta
def calcular_media_maior_menor(notas):
“”"
Recebe uma lista ‘notas’ com exatamente 4 números e retorna uma tupla:
(media, maior, menor).
Lança ValueError se a lista não tiver 4 elementos.
“”"
if len(notas) != 4:
raise ValueError(“A lista deve conter exatamente 4 notas.”)
soma = sum(notas)
media = soma / 4
maior = max(notas)
menor = min(notas)
return media, maior, menor
“”"
Recebe uma lista ‘notas’ com exatamente 4 números e retorna uma tupla:
(media, maior, menor).
Lança ValueError se a lista não tiver 4 elementos.
“”"
if len(notas) != 4:
raise ValueError(“A lista deve conter exatamente 4 notas.”)
soma = sum(notas)
media = soma / 4
maior = max(notas)
menor = min(notas)
return media, maior, menor