Pular para o conteúdo principal

Questão de Programação — Conceitos básicos de programação — CESPE / CEBRASPE 2025

ProgramaçãoConceitos básicos de programação
Código
ce201842
Banca
CESPE / CEBRASPE
Órgão
EMBRAPA
Ano
2025
Nível
Superior
Cargo
Pesquisador – Área: Engenharias – Subárea: Recursos Florestais e Engenharia Florestal

O NDVI (ou índice de vegetação por diferença normalizada) permite identificar a presença de vegetação verde e caracterizar sua distribuição espacial, como também sua evolução no decorrer do tempo. Para calcular o NDVI, a linguagem Python é amplamente utilizada, devido à sua flexibilidade e às bibliotecas de processamento de dados geoespaciais disponíveis. A seguir, é apresentado um código em Python relativo ao cálculo do NDVI. 


import numpy as np

import rasterio def calcular_ndvi(arquivo_nir, arquivo_red,

saida_ndvi):

    with rasterio.open(arquivo_nir) as nir_src:

        nir = nir_src.read(1).astype('float32')

        perfil = nir_src.profile

    with rasterio.open(arquivo_red) as red_src:

        red = red_src.read(1).astype('float32')

    ndvi = (nir - red) / (nir + red + 1e-10)

    perfil.update(dtype=rasterio.float32,

count=1)

    with rasterio.open(saida_ndvi, 'w',

**perfil) as dst:

        dst.write(ndvi, 1)

    print(f"NDVI calculado e salvo em:

{saida_ndvi}") 


Com base no código precedente, julgue os itens a seguir. 

Com base no código precedente, julgue o item a seguir.A função calcular_ndvi recebe, como parâmetros obrigatórios, três arquivos; se um deles não for encontrado, o código gerará um erro, o que impedirá a continuidade da execução.
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoC — Certo

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

Análise de código Python – Tratamento de arquivos e exceções

CERTO. A afirmação está correta: a função calcular_ndvi recebe três parâmetros obrigatórios (arquivo_nir, arquivo_red, saida_ndvi) e, se qualquer um dos arquivos de entrada não for encontrado, o comando rasterio.open lançará uma exceção (como FileNotFoundError), interrompendo a execução do programa, pois não há tratamento de exceções no código.

A função utiliza a estrutura with rasterio.open(arquivo_nir) as nir_src:. Caso o arquivo não exista, o Python dispara uma exceção. Como não há bloco try-except, a exceção se propaga, interrompendo a execução. O mesmo vale para o arquivo red. O terceiro parâmetro (saida_ndvi) é aberto para escrita; se não existir, será criado sem erro. Ainda assim, a afirmação trata de qualquer arquivo não encontrado – e os dois primeiros gerariam erro –, portanto, está correta.

Gabarito: ✅ CERTO.

Link permanente: /questoes/ce201842