Questão de Programação — Conceitos básicos de programação — FUNDATEC 2025
Programação›Conceitos básicos de programação
Código
qg473683
Banca
FUNDATEC
Órgão
IF Sul - MG
Ano
2025
Nível
Superior
Cargo
PEBTT - Informática
Para responder a questão, considere o programa quadro1.py apresentado a seguir,
feito em Python e utilizando OpenCV.
O programa abre uma tela e, nela, desenha uma figura. As variáveis a e b do programa, definem, respectivamente:
AA altura e a largura da figura desenhada na tela.
BA largura e a altura da figura desenhada na tela.
CA largura e a altura da tela.
DA altura e a largura da tela.
EAs coordenadas na área de trabalho onde a tela vai ficar posicionada.
Revelar gabarito e comentário▾
GabaritoD — A altura e a largura da tela.
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”.
OpenCV: dimensões da janela e da imagem
Gabarito: letra D. As variáveis a e b definem, respectivamente, a altura e a largura da tela (janela) criada pelo programa. No OpenCV, a função cv2.namedWindow() recebe como parâmetro o tamanho da janela na ordem (largura, altura), mas a questão inverte essa ordem ao afirmar que a é a altura e b é a largura — e é exatamente essa inversão que a alternativa D reflete, conforme o gabarito oficial.
Para entender a questão, é preciso distinguir dois conceitos que frequentemente se confundem: as dimensões da janela (tela) e as dimensões da imagem desenhada. No OpenCV, a janela é criada com cv2.namedWindow('nome', cv2.WINDOW_NORMAL) e, se quisermos redimensioná-la, usamos cv2.resizeWindow('nome', largura, altura). Já a imagem é carregada com cv2.imread() e tem suas dimensões obtidas pelo atributo .shape, que retorna uma tupla na ordem (altura, largura, canais) — ou seja, altura primeiro.
A pegadinha da banca está justamente nessa diferença de ordem: enquanto o .shape da imagem retorna (altura, largura), a função resizeWindow recebe (largura, altura). A questão, porém, afirma que as variáveis a e b definem, respectivamente, altura e largura da tela — o que só faz sentido se o programa tiver usado a e b na ordem (altura, largura) para dimensionar a janela, como em cv2.resizeWindow('janela', b, a) ou algo equivalente. O gabarito oficial confirma essa leitura.
Vamos analisar cada alternativa com base nessa distinção:
Dimensões no OpenCV: Janela (tela) (cv2.resizeWindow(largura, altura), Questão: a = altura, b = largura); Imagem (figura) (.shape retorna (altura, largura, canais), Altura vem primeiro); Posição da janela (cv2.moveWindow(x, y))
Alternativa A — ❌ Incorreta
Afirma que a e b definem a altura e a largura da figura desenhada. O erro está em dizer que se referem à figura (imagem) e não à tela (janela). No OpenCV, as dimensões da imagem são obtidas via .shape e não são definidas por variáveis passadas a funções de criação de janela. Além disso, a ordem correta para a imagem seria (altura, largura), mas o contexto da questão aponta para a tela.
Alternativa B — ❌ Incorreta
Inverte a ordem: diz que a é a largura e b é a altura da figura. Além de errar o objeto (figura em vez de tela), troca a ordem que o gabarito considera correta. Se a fosse largura, a alternativa D (que diz altura) estaria errada — mas o gabarito é D.
Alternativa C — ❌ Incorreta
Afirma que a e b definem a largura e a altura da tela. Aqui o objeto está certo (tela), mas a ordem está invertida em relação ao gabarito. O gabarito D diz que a é altura e b é largura; a C diz o contrário. Como a questão pede a ordem correta, a C é falsa.
Alternativa D — ✅ Correta ⟵ GABARITO
Diz que a e b definem, respectivamente, a altura e a largura da tela. É exatamente o que o gabarito oficial considera. No OpenCV, quando se cria uma janela e se define seu tamanho, é possível passar os valores na ordem (altura, largura) — como em cv2.resizeWindow('janela', b, a) — e a questão adota essa convenção. Portanto, a = altura, b = largura da tela.
Alternativa E — ❌ Incorreta
Afirma que a e b são coordenadas na área de trabalho onde a tela vai ficar posicionada. Isso não corresponde a nenhuma função típica do OpenCV para posicionamento de janela (que usaria cv2.moveWindow com coordenadas x e y). A questão trata de dimensões (altura/largura), não de posição.
Gabarito: letra D — as variáveis a e b definem, respectivamente, a altura e a largura da tela.