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
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
função recursiva em pseudocódigo
avaliacao
funções recursivas · listas em programação
Revisar conceitos de recursão e manipulação de listas.
O aluno pode confundir a lógica de duplicação, criando uma lista com elementos em ordem inversa ou não duplicando corretamente.
ciencia_tecnologia
criatividade
abstrato
Questões parecidas com resolução
- Um sistema portátil registra a corrente gerada em um eletrodo de trabalho durante um pulso de 4 segundos. Para comparar…
- Em um protótipo computacional que monitora a salinidade de um tanque, dois eletrodos ficam imersos na água e são usados…
- Em uma lavanderia, uma pessoa instala dois eletrodos próximos ao piso, ligados a uma entrada digital de um controlador…
- Em uma demonstração de interface cérebro-computador, eletrodos colocados sobre o couro cabeludo captam sinais elétricos…
- Em um protótipo de interface computacional controlada por sinais musculares, cada canal utiliza um eletrodo para captar…
- Em uma prótese controlada por sinais musculares, eletrodos na pele captam a atividade elétrica e a enviam ao sistema…
🔎 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
