Projete em pseudocódigo uma função recursiva profundidade(L) que recebe uma lista L que pode conter elementos…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Aplicar a estratégia de decomposição para resolver problemas complexos, dividindo esse problema em partes menores, resolvendo-as e combinando suas soluções.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Projete em pseudocódigo uma função recursiva profundidade(L) que recebe uma lista L que pode conter elementos e sublistas aninhadas arbitrariamente e retorna a profundidade máxima de aninhamento (defina lista vazia com profundidade 1).
✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.
Resposta esperada
Exemplo de resposta: func profundidade(L): se L == [] então retorne 1 maxp ? 1 para cada x em L: se tipo(x) == lista então p ? 1 + profundidade(x) se p > maxp então maxp ? p retorne maxp Justificativa: percorre recursivamente sublistas acumulando 1 por nível; garante que a maior profundidade seja retornada. Complexidade proporcional ao número total de elementos aninhados.
Explicação
A função analisa cada elemento da lista, verificando se é uma sublista, e chama a si mesma para calcular a profundidade dessas sublistas. Ao acumular a profundidade, ela garante que a maior profundidade encontrada seja retornada. A abordagem recursiva permite lidar com aninhamentos de qualquer profundidade, enquanto a verificação de lista vazia garante que a profundidade mínima seja corretamente considerada.
Raio-X da questão
função recursiva
avaliacao
funções recursivas · estruturas de dados
Revisar conceitos de recursão e listas aninhadas.
O aluno pode confundir a profundidade de aninhamento com a contagem de elementos na lista, resultando em um valor incorreto.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resolução
- Projete em pseudocódigo uma função recursiva maximo(L) que recebe uma lista não vazia de inteiros e retorna o maior…
- Projete em pseudocódigo um algoritmo recursivo max_recursive(L) que recebe uma lista não vazia L de inteiros e retorna o…
- Projete uma função recursiva em pseudocódigo flatten(L) que recebe uma lista L que pode conter inteiros e sublistas…
- Projete em pseudocódigo uma função recursiva subsequencias(L) que recebe uma lista L de inteiros e retorna a lista de…
- Em pseudocódigo, ao implementar um algoritmo recursivo que percorre uma lista L processando exatamente um elemento por…
- Projete em pseudocódigo uma função recursiva permutar(L) que recebe uma lista L com n elementos distintos e retorna 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
