Pular para o conteúdo principal

Questão de Programação — Conceitos básicos de programação — FUNDATEC 2025

ProgramaçãoConceitos 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. 


Imagem da questão

O programa abre uma tela e, nela, desenha uma figura. As variáveis a e b do programa, definem, respectivamente:
  1. AA altura e a largura da figura desenhada na tela.
  2. BA largura e a altura da figura desenhada na tela.
  3. CA largura e a altura da tela.
  4. DA altura e a largura da tela.
  5. 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:

1Janela (tela)
cv2.resizeWindow(largura, altura)
Questão: a = altura, b = largura
2Imagem (figura)
.shape retorna (altura, largura, canais)
Altura vem primeiro
3Posição da janela
cv2.moveWindow(x, y)
Dimensões no OpenCV
LEVELsoulevel.com.br
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.

Link permanente: /questoes/qg473683