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
- Elabore um pseudocódigo que receba uma lista de n números inteiros e construa uma tabela de frequências (pares valor…
- Projete um algoritmo em pseudocódigo que, a partir de uma amostra de dados numéricos (lista), construa uma tabela de…
- Projete um algoritmo em linguagem de alto nível que, a partir de uma lista de números inteiros obtida por amostragem…
- Elabore um algoritmo em pseudocódigo que, dada uma lista amostra de n números inteiros, construa uma tabela com…
- Escreva um pseudocódigo usando um único laço de repetição para construir a tabela de frequências absolutas e relativas…
- Elabore um algoritmo em pseudocódigo que, dado um vetor de N números inteiros lidos do usuário, construa e imprima uma…
🔎 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
