Para contar os arquivos de uma pasta e de todas as suas subpastas, em qualquer profundidade, qual técnica…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Criar soluções de problemas para os quais seja adequado o uso de árvores e grafos para descrever suas informações e automatizá-las usando uma linguagem de programação.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Para contar os arquivos de uma pasta e de todas as suas subpastas, em qualquer profundidade, qual técnica percorre essa estrutura em árvore de forma natural?
- A) Um único laço que lê só os arquivos da pasta inicial.
- B) Uma busca que para no primeiro arquivo encontrado.
- C) Uma ordenação dos arquivos da pasta inicial por nome.
- D) Um contador que soma só as subpastas, sem os arquivos.
- E) Uma função recursiva que se chama para cada subpasta.
✅ Resposta correta: alternativa E
Resolução passo a passo
- A pergunta quer saber qual técnica percorre uma estrutura em árvore (pasta com subpastas, em qualquer profundidade) de forma natural para contar todos os arquivos.
- Uma árvore de pastas tem um formato hierárquico: cada pasta pode conter arquivos e outras pastas, que por sua vez contêm outros arquivos e pastas. Como a profundidade não é fixa, não basta um laço simples de um nível.
- A solução natural é a recursão: a função conta os arquivos da pasta atual e, para cada subpasta encontrada, chama a si mesma para contar os arquivos dali. O resultado total é a soma dos arquivos locais com os retornos das chamadas. Assim, a mesma lógica se aplica em qualquer nível de profundidade, espelhando a própria estrutura da árvore.
- Por que as outras estão erradas: A) um laço que lê só a pasta inicial ignora todas as subpastas; B) uma busca que para no primeiro arquivo não conta todos os arquivos; C) ordenar por nome não contabiliza nada e não percorre as subpastas; D) contar somente subpastas deixa de fora os arquivos, que é justamente o que se pede.
- Resposta: alternativa E, que coincide com o gabarito oficial.
💡 Dica: Observe qual técnica repete a mesma operação em cada subpasta, independentemente da profundidade.
Alternativa por alternativa
Acredita que basta examinar a pasta inicial, achando que os arquivos das subpastas não entram na contagem ou que um único laço resolve a estrutura inteira.
Por que engana: Escolher um método que examina apenas a pasta inicial ou interrompe a busca cedo, sem percorrer todas as subpastas em diferentes níveis.
Confunde a busca por existência (encontrar um arquivo) com a contagem de todos os arquivos, parando no primeiro resultado sem continuar percorrendo a árvore.
Associa 'percorrer' a 'organizar' e acha que ordenar os arquivos por nome já faz a varredura necessária, sem perceber que ordenação não conta nem visita subpastas.
Interpreta mal o enunciado e conta apenas as subpastas, esquecendo que o objetivo é contar os arquivos.
A recursão acompanha a estrutura da árvore: a função conta os arquivos da pasta e chama a si mesma para cada subpasta, chegando a qualquer profundidade.
Raio-X da questão
recursão em estrutura de árvore
avaliacao
estrutura hierárquica de pastas · funções e chamadas recursivas
Revise recursão e percursos de estruturas hierárquicas, aplicando a chamada recursiva a cada subpasta.
Escolher um método que examina apenas a pasta inicial ou interrompe a busca cedo, sem percorrer todas as subpastas em diferentes níveis.
ciencia_tecnologia
tomada_decisao
cientifico
Questões parecidas com resolução
- — Achei que era so contar as pastas, mas cada pasta tem outras dentro — reclamou uma voluntaria ao organizar o acervo…
- Ao organizar as fotos do campeonato do bairro, Lia criou um programa para separar imagens por ano, mês e dia. Primeiro…
- Em um algoritmo de busca em profundidade em uma árvore, qual é o principal fator que determina a ordem da exploração dos…
- Para percorrer recursivamente uma árvore binária em um algoritmo e processar cada nó antes de seus filhos, qual percurso…
- — O painel do mutirão de conserto do centro comunitário está “escondendo” trabalho — reclamou a coordenadora ao ver o…
- Explique como utilizar árvores para organizar dados de forma hierárquica em um programa.
Todas as questões de Programação - Programação usando grafos e árvores
🔎 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
