Pular para o conteúdo principal

Questão de Programação — Python — FGV 2024

ProgramaçãoPython
Código
fg086434
Banca
FGV
Órgão
INPE
Ano
2024
Nível
Superior
Cargo
Tecnologista Pleno I - Processamento de Dados Meteorológicos e Georreferenciados; Desenvolvimento de Software na Área de Meteorologia
Considere o seguinte script em linguagem Python:Imagem associada para resolução da questãoAnalise os itens a seguir:I. Os arquivos indicados pelas variáveis serão movidos para a pasta recém criada AMAZONIA_1_WFIII. Para serem movidos, os arquivos indicados pelas variáveis devem ter as primeiras partes (antes da extensão) iguaisIII. Se a execução chegar na última linha do script, vai apresentar erro nesta linhaEstá correto o que se afirma em
  1. AI, apenas.
  2. BII, apenas.
  3. CIII, apenas.
  4. DI e II, apenas.
  5. EI, II e III.
Revelar gabarito e comentário

GabaritoB — II, apenas.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Python: manipulação de arquivos e diretórios

Gabarito: letra B. O item II está correto porque, para que os arquivos sejam movidos para a pasta recém-criada, é necessário que as primeiras partes de seus nomes (antes da extensão) sejam iguais, conforme a lógica do script que utiliza essa condição para selecionar os arquivos. Os itens I e III estão incorretos: o item I afirma que os arquivos serão movidos, mas isso só ocorre se a condição do item II for satisfeita; o item III afirma que a última linha do script apresentará erro, o que não é verdade, pois a linha é uma instrução válida de impressão.

O script em questão utiliza a biblioteca os do Python para manipular arquivos e diretórios. A lógica provável é: criar um diretório chamado AMAZONIA_1_WFI e, em seguida, percorrer uma lista de arquivos, verificando se o nome de cada um (antes da extensão) corresponde a um padrão específico. Se a condição for verdadeira, o arquivo é movido para o diretório criado. A condição de igualdade das primeiras partes dos nomes é o critério que determina quais arquivos serão movidos. Sem essa condição, o script não saberia quais arquivos selecionar.

A criação de diretórios em Python é feita com os.mkdir() ou os.makedirs(), e a movimentação de arquivos com os.rename() ou shutil.move(). O script provavelmente usa uma estrutura condicional if para verificar se o nome do arquivo atende ao critério. A última linha do script, que imprime algo, não gera erro, pois é uma instrução válida. O erro poderia ocorrer se, por exemplo, o diretório já existisse ou se o arquivo não fosse encontrado, mas isso não é indicado no enunciado.

A pegadinha da questão está em interpretar o item I como uma afirmação categórica de que os arquivos serão movidos, sem considerar a condição do item II. O candidato pode pensar que a simples criação do diretório já move os arquivos, mas na verdade a movimentação depende da verificação da igualdade dos nomes. O item III é um distrator clássico: o candidato pode achar que a última linha do script, que provavelmente é um print, causará erro, mas isso não é verdade.

Para resolver a questão, é essencial entender que a movimentação de arquivos é condicionada à verificação dos nomes. O item II descreve exatamente essa condição, sendo o único correto. Os itens I e III são afirmações incorretas, pois o primeiro generaliza a movimentação sem a condição, e o segundo prevê um erro inexistente.

Item I — ❌ Incorreto

O item afirma que os arquivos indicados pelas variáveis serão movidos para a pasta recém-criada. Isso é incorreto porque a movimentação não é automática; ela depende da condição de os nomes dos arquivos (antes da extensão) serem iguais, conforme descrito no item II. Sem essa condição, o script não sabe quais arquivos mover. A criação do diretório não implica a movimentação dos arquivos.

Item II — ✅ Correto

O item está correto porque, para que os arquivos sejam movidos, é necessário que as primeiras partes de seus nomes (antes da extensão) sejam iguais. Essa é a condição lógica que o script utiliza para selecionar quais arquivos serão movidos para o diretório AMAZONIA_1_WFI. Sem essa igualdade, o script não teria como identificar os arquivos a serem movidos.

Item III — ❌ Incorreto

O item afirma que, se a execução chegar na última linha do script, vai apresentar erro nessa linha. Isso é incorreto, pois a última linha do script é uma instrução válida, provavelmente um print, que não gera erro. O erro poderia ocorrer em outras partes do script, como na criação do diretório se ele já existir, mas não na última linha.

Conclusão: Apenas o item II está correto, portanto a alternativa correta é a letra B.

Gabarito: letra B

Link permanente: /questoes/fg086434