GeraProva GeraProva Provas com IA para professores do Brasil
Computação5º anoBNCC EF15CO02Difícil⏱ longo

Projete em pseudocódigo um algoritmo recursivo compress_consecutivos(L) que recebe uma lista L e retorna uma…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF15CO02

Construir e simular algoritmos, de forma independente ou em colaboração, que resolvam problemas simples e do cotidiano com uso de sequências, seleções condicionais e repetições de instruções.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Projete em pseudocódigo um algoritmo recursivo compress_consecutivos(L) que recebe uma lista L e retorna uma nova lista onde sequências de elementos consecutivos iguais são reduzidas a um único elemento. Exemplo: [a,a,b,b,b,c] -> [a,b,c]. Use operações sobre cabeça/cauda e concatenação.

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

Resposta esperada

funcao compress_consecutivos(L): se L == [] entao retorne [] senao se comprimento(L) == 1 entao retorne [L[0]] senao cabeca <- L[0] proximo <- L[1] resto <- sublista(L,1, fim) if cabeca == proximo entao // omite cabeca duplicado e continua sobre resto retorne compress_consecutivos(resto) senao // mantém cabeca e concatena com resultado recursivo return concatenar([cabeca], compress_consecutivos(resto)) Observações: o caso base lida com lista vazia e lista unitária. A comparação é somente entre elementos consecutivos; concatenar insere cabeca antes do resultado recursivo.

Explicação

O algoritmo utiliza recursão para percorrer a lista, tratando primeiro os casos base de lista vazia e lista com um único elemento. Ao comparar elementos consecutivos, ele decide se deve omitir duplicatas ou manter o elemento atual, garantindo que apenas um de cada sequência de iguais seja incluído na nova lista. A concatenação é feita de forma a preservar a ordem dos elementos, resultando em uma lista final sem repetições consecutivas.

Raio-X da questão

Dificuldade Difícil
Bloom Criar
Leitura medio
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

algoritmo recursivo

📌 Objetivo

fixacao

🧱 Pré-requisitos

pseudocódigo · recursão

📚 Reveja

Revisar conceitos de recursão e manipulação de listas.

⚠️ Erro mais comum

O aluno pode confundir a lógica de recursão, não conseguindo identificar corretamente quando os elementos são iguais e, portanto, não reduzindo a lista como esperado.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

criatividade

🏫 Contexto

abstrato

Questões parecidas com resolução

Todas as questões de Algoritmos

🔎 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.