Projete um algoritmo recursivo (em pseudocódigo) que, dada uma lista de números inteiros, retorne uma lista de…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
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
Projete um algoritmo recursivo (em pseudocódigo) que, dada uma lista de números inteiros, retorne uma lista de pares (valor, frequência) representando a contagem de ocorrências de cada valor. Descreva passo a passo, explicando a condição de parada e como combinar resultados parciais.
✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.
Resposta esperada
Resposta modelo (pseudocódigo e justificativa): função frequencias(L): se L == []: retorne [] x <- L[0] resto <- L[1:] parcial <- frequencias(resto) se existe par (x,f) em parcial: atualize esse par para (x, f+1) retorne parcial senão: retorne parcial com (x,1) adicionado Justificativa do projeto: - Caso base: lista vazia retorna lista vazia de pares. - Passo recursivo: processa o primeiro elemento x e combina com o resultado das chamadas sobre o restante, atualizando a contagem de x quando já presente ou adicionando novo par. - A combinação é feita localmente sem iteração externa, garantindo que cada chamada acumule informação correta até a chamada inicial.
Explicação
A solução apresentada utiliza recursão para dividir o problema em subproblemas menores, processando um elemento da lista por vez. A condição de parada é a lista vazia, que permite finalizar a recursão e retornar resultados parciais. A atualização da contagem dos pares é feita de forma eficiente, assegurando que cada elemento é contabilizado corretamente, seja incrementando uma frequência existente ou adicionando um novo par.
Raio-X da questão
algoritmo recursivo
avaliacao
estrutura de dados · funções recursivas
Revisar conceitos de recursão e contagem de frequências.
O aluno pode confundir a lógica de contagem com a lógica de iteração, não aplicando corretamente a recursão para contar as ocorrências.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resolução
- Uma livraria registra, em uma tabela, a quantidade de livros vendidos em duas filiais durante uma campanha. As linhas…
- Em um inventário de sementes, a equipe registrou a quantidade de um lote usando agrupamentos: 3 grupos de 10.000…
- Por que alguns horários de biblioteca ficam lotados enquanto outros permanecem vazios? Para decidir a ampliação do…
- Uma cooperativa de reciclagem contratou fretes e registrou o custo total conforme a distância percorrida. O grafico…
- O gráfico mostra o consumo mensal de energia dos equipamentos de uma padaria: forno, 520 kWh; refrigeração, 280 kWh…
- Uma comunidade rural avalia caixas d'água de base quadrada e altura fixa de 5 m. O gráfico mostra o volume V, em m³, em…
🔎 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
