GeraProva GeraProva Provas com IA para professores do Brasil
Matemática1ª sérieBNCC EM13MAT405Difícil⏱ longo

Escreva em Python uma função que recebe uma lista de números representando uma amostra e retorna duas listas…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EM13MAT405

Utilizar conceitos iniciais de uma linguagem de programação na implementação de algoritmos escritos em linguagem corrente e/ou matemática.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Escreva em Python uma função que recebe uma lista de números representando uma amostra e retorna duas listas: valores únicos ordenados por frequência decrescente e suas respectivas frequências. Explique o algoritmo e indique sua complexidade. Exemplo de entrada: [3,1,3,2,3,1].

✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.

Resposta esperada

Resposta modelo (Python): def freq_table(lst): d={} for x in lst: d[x]=d.get(x,0)+1 items=sorted(d.items(), key=lambda t:(-t[1], t[0])) values=[k for k,v in items] freqs=[v for k,v in items] return values,freqs Exemplo: [3,1,3,2,3,1] -> values=[3,1,2], freqs=[3,2,1]. Complexidade: construir d é O(n); ordenar m itens é O(m log m). No pior caso m˜n, total O(n log n).

Explicação

A função utiliza um dicionário para contar a frequência de cada número na lista, o que permite uma contagem eficiente em O(n). Em seguida, os itens do dicionário são ordenados com base na frequência e no valor, o que leva a um tempo de execução de O(m log m), onde m é o número de valores únicos. Assim, a complexidade total do algoritmo é O(n log n) no pior caso, garantindo que a solução seja eficiente mesmo para listas maiores.

Raio-X da questão

Dificuldade Difícil
Bloom Criar
Leitura alto
Discriminação alto
Peso pedagógico alto
Autonomia do enunciado completo
Cobertura da habilidade multipla
🧪 Simulado🩺 Diagnóstico🧮 Exige cálculo🏠 Cotidiano🔗 Interdisciplinar⭐ Representativa✍️ interpretativa🧩 desafio
🎯 Conceito central

função em Python

📌 Objetivo

avaliacao

🧱 Pré-requisitos

funções em Python · listas e dicionários

📚 Reveja

Revisar como manipular listas e dicionários em Python.

⚠️ Erro mais comum

O aluno pode confundir a contagem de elementos com a ordenação, retornando listas desordenadas ou com frequências incorretas.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

criatividade

🏫 Contexto

cotidiano

Questões parecidas com resolução

Todas as questões de Leitura e interpretação de tabelas e gráficos (de colunas ou barras simples ou múltiplas) referentes a variáveis categóricas e variáveis numéricas

🔎 Procurar outra questão

Procure no banco do GeraProva pelo tema ou por um trecho do enunciado. Cada questão já vem com resolução comentada e a análise de cada alternativa.

Professor: monte a prova com questões como esta, com gabarito e folha de respostas, em 30 segundos. Ver planos · Blog

Ocorreu um erro inesperado. Recarregar X

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.