GeraProva GeraProva Provas com IA para professores do Brasil
Computação3ª sérieBNCC EM13CO01Difícil⏱ longo

Projete em pseudocódigo uma função recursiva duplicar(L) que recebe uma lista L de inteiros e retorna uma nova…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EM13CO01

Explorar e construir a solução de problemas por meio da reutilização de partes de soluções existentes.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Projete em pseudocódigo uma função recursiva duplicar(L) que recebe uma lista L de inteiros e retorna uma nova lista em que cada elemento de L aparece duas vezes consecutivas, mantendo a ordem. Explique o funcionamento e indique a complexidade temporal.

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

Resposta esperada

Exemplo de solução em pseudocódigo: func duplicar(L): se L == [] então retorne [] senao h = primeiro(L) t = duplicar(resto(L)) retorne construir(h, construir(h, t)) (onde construir(x, lista) adiciona x no início da lista) Funcionamento: caso base trata lista vazia; no passo recursivo duplicar copia o primeiro elemento duas vezes (usando construções por precedência) e concatena ao resultado recursivo sobre o resto, preservando ordem. Complexidade: O(n) tempo e O(n) espaço adicional (n é o número de elementos de L), pois cada elemento gera um número constante de operações e a função produz uma nova lista proporcional ao tamanho de L.

Explicação

A solução apresentada utiliza recursão para duplicar cada elemento da lista, garantindo que a ordem original seja mantida. O caso base lida com a lista vazia, enquanto a chamada recursiva processa o restante da lista, construindo a nova lista com os elementos duplicados. A complexidade é linear, pois cada elemento é visitado uma vez, resultando em um tempo e espaço proporcionais ao tamanho da lista.

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 recursiva em pseudocódigo

📌 Objetivo

avaliacao

🧱 Pré-requisitos

funções recursivas · listas em programação

📚 Reveja

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

⚠️ Erro mais comum

O aluno pode confundir a lógica de duplicação, criando uma lista com elementos em ordem inversa ou não duplicando corretamente.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

criatividade

🏫 Contexto

abstrato

Questões parecidas com resolução

Todas as questões de [CONFERIR] Construir soluções baseadas no uso de algoritmos e conceitos da Computação para resolver problemas, avaliando suas qualidades e melhorando-as.

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