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
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
algoritmo recursivo
fixacao
pseudocódigo · recursão
Revisar conceitos de recursão e manipulação de listas.
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.
ciencia_tecnologia
criatividade
abstrato
Questões parecidas com resolução
- Enquanto visitantes aguardavam a abertura de um museu, técnicos programaram um painel luminoso e um robô-guia para…
- Para resolver uma atividade de Matemática, um estudante anota os passos nesta ordem: ler o enunciado, identificar os…
- Em um aplicativo, o total de maçãs é calculado a partir de duas informações informadas pelo usuário: as maçãs que estão…
- No fim da tarde, a responsável por uma sala de leitura separa dois tablets para um grupo de crianças. Antes de entregar…
- Descreva, em algoritmo de alto nível (passos), como um receptor deve processar pacotes de um arquivo recebido: verificar…
- Proponha um algoritmo de alto nível para que um sistema destino reconstitu´a um arquivo recebido em pacotes que podem…
🔎 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
