Questão de Programação — Linguagens de programação — FUNDATEC 2025
Programação›Linguagens de programação
Código
qg473684
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.
No programa, a variável c é usada para definir o(a):
AVersão do OpenCV utilizada.
BTipo de exibição da tela na interface, onde o 3 é exibição em foreground.
CTipo de tela exibida onde a figura é desenhada.
DTipo de interface gráfica utilizado, onde o 3 refere-se à interface Windows.
EEspessura da linha da figura desenhada na tela.
Revelar gabarito e comentário▾
GabaritoE — Espessura da linha da figura desenhada na 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: parâmetros de desenho de figuras
Gabarito: letra E. A variável c no programa quadro1.py é usada para definir a espessura da linha da figura desenhada na tela. No OpenCV, funções de desenho como cv2.line(), cv2.rectangle() e cv2.circle() recebem um parâmetro de espessura (thickness), que controla a largura do traço em pixels — e é exatamente esse o papel da variável c no código.
O OpenCV é uma biblioteca de visão computacional amplamente utilizada para processamento de imagens e vídeo. Quando trabalhamos com desenho de figuras geométricas (linhas, retângulos, círculos, polígonos), a biblioteca oferece funções que recebem uma série de parâmetros: a imagem de destino, as coordenadas dos pontos, a cor, o tipo de linha e a espessura. A espessura é um valor inteiro que determina quantos pixels de largura terá o traço desenhado. Por exemplo, cv2.line(img, (0,0), (100,100), (255,0,0), 3) desenha uma linha azul com 3 pixels de espessura.
No programa quadro1.py, a variável c é passada como argumento para a função de desenho, ocupando exatamente a posição do parâmetro de espessura. Isso significa que, ao alterar o valor de c, o desenho fica mais grosso ou mais fino — mas nada muda em relação à versão do OpenCV, ao tipo de interface gráfica ou à forma como a janela é exibida. Esses outros aspectos são controlados por parâmetros completamente diferentes, como cv2.WINDOW_NORMAL (para o tipo de janela) ou a versão da biblioteca (que é uma propriedade do ambiente, não uma variável do código).
A pegadinha desta questão está em associar o número 3 (que provavelmente é o valor atribuído a c) a algo relacionado a versões ou interfaces. O candidato pode se confundir e pensar que 3 se refere à versão do OpenCV (que na época da questão poderia ser a 3.x) ou a um tipo de janela. No entanto, no contexto de desenho de figuras, o valor 3 é simplesmente a espessura em pixels — um parâmetro visual do traço, não uma configuração do sistema.
Para resolver questões como esta, é fundamental conhecer a assinatura das funções de desenho do OpenCV. A ordem típica dos parâmetros é: imagem, ponto inicial, ponto final (ou centro e raio), cor, espessura e, opcionalmente, tipo de linha. Quando o enunciado pergunta sobre uma variável usada para "definir o(a)", devemos identificar em qual posição da chamada de função essa variável aparece. Se ela está no lugar do quinto argumento (depois da cor), é a espessura. Se estivesse no lugar do tipo de linha, seria o parâmetro lineType (como cv2.LINE_AA).
Guarde essa distinção: espessura controla a largura do traço; tipo de linha controla o algoritmo de renderização (antialiasing, por exemplo); tipo de janela controla como a imagem é exibida na tela; versão é uma propriedade da instalação da biblioteca. É exatamente nesses quatro conceitos que as alternativas se dividem.
Parâmetros de desenho no OpenCV: Espessura (thickness) (Largura do traço em pixels, 5º argumento (após a cor)); Tipo de linha (lineType) (Algoritmo de renderização, Ex.: cv2.LINE_AA); Tipo de janela (cv2.WINDOW_NORMAL, cv2.WINDOW_AUTOSIZE); Versão da biblioteca (Propriedade do ambiente, cv2.version)
Alternativa A — ❌ Incorreta
A versão do OpenCV não é definida por uma variável no código do programa. A versão é uma propriedade da biblioteca instalada no ambiente, acessível através de cv2.__version__. A variável c não tem relação com isso — ela é um parâmetro de desenho, não uma configuração do ambiente.
Alternativa B — ❌ Incorreta
O tipo de exibição da tela na interface é controlado por flags como cv2.WINDOW_NORMAL ou cv2.WINDOW_AUTOSIZE, passadas para a função cv2.namedWindow(). Não existe um parâmetro de desenho que defina "exibição em foreground" — esse conceito não se aplica ao desenho de figuras. A variável c não controla a janela, mas sim o traço desenhado.
Alternativa C — ❌ Incorreta
O tipo de tela exibida onde a figura é desenhada também é controlado por cv2.namedWindow() e suas flags. A variável c não tem relação com a janela ou com o tipo de exibição — ela é usada dentro da função de desenho, que opera sobre a imagem, não sobre a janela.
Alternativa D — ❌ Incorreta
O tipo de interface gráfica utilizado é uma característica da compilação do OpenCV (como GTK, Qt ou Win32), não uma variável do programa. O valor 3 não se refere a nenhuma interface gráfica — é apenas a espessura da linha em pixels. A alternativa tenta confundir o candidato associando o número a uma interface específica, mas isso não existe no contexto de desenho.
Alternativa E — ✅ Correta ⟵ GABARITO
A variável c é usada como o parâmetro de espessura da linha na função de desenho do OpenCV. Esse parâmetro controla a largura do traço em pixels: quanto maior o valor, mais grossa a linha. É exatamente o que a alternativa descreve — "espessura da linha da figura desenhada na tela".
PEGA ESSA DICA!
Para identificar o papel de uma variável em funções de desenho do OpenCV, observe a posição dela na chamada. A assinatura típica é: função(imagem, ponto1, ponto2, cor, espessura, tipo_linha). Se a variável aparece depois da cor, é a espessura. Se aparece depois da espessura, é o tipo de linha. Essa ordem é padrão em cv2.line(), cv2.rectangle(), cv2.circle() e outras.