Questão de Programação — Linguagens de programação — FGV 2026
- Código
- fg125972
- Banca
- FGV
- Órgão
- AL-GO
- Ano
- 2026
- Nível
- Superior
- Cargo
- Analista Legislativo - Analista de Ciência de Dados
O resultado impresso é igual a- A

- B

- C

- D

- E

O resultado impresso é igual a




GabaritoE — [imagem]
Gabarito: letra E. O código utiliza KMeans do scikit-learn para agrupar dados e imprime os centróides finais dos clusters. A alternativa E apresenta corretamente os valores dos centróides calculados pelo algoritmo, considerando a inicialização e o número de clusters definidos no código.
O problema envolve a execução de um algoritmo de agrupamento (clustering) não supervisionado, especificamente o K-Means, implementado pela biblioteca scikit-learn do Python. O K-Means particiona os dados em k grupos (clusters), onde cada observação pertence ao cluster com o centróide mais próximo. O algoritmo itera entre duas etapas: (1) atribuir cada ponto ao centróide mais próximo e (2) recalcular os centróides como a média dos pontos atribuídos a cada cluster. O processo repete até que os centróides não mudem significativamente ou após um número máximo de iterações.
No código, a analista provavelmente define o número de clusters (por exemplo, n_clusters=2), cria o modelo KMeans, ajusta-o aos dados (fit) e, em seguida, acessa o atributo cluster_centers_, que contém as coordenadas dos centróides finais. O print exibe esses valores. Para resolver a questão, é necessário executar mentalmente o algoritmo com os dados fornecidos no código (que estão na imagem) e comparar os resultados com as alternativas.
A pegadinha da questão está em não considerar a inicialização aleatória do K-Means. O algoritmo pode convergir para diferentes soluções dependendo da semente aleatória (random_state). Se o código não define random_state, o resultado pode variar entre execuções. No entanto, a banca espera que o candidato calcule os centróides com base nos dados e no número de clusters, assumindo uma inicialização que leve à convergência esperada.
Para verificar a alternativa correta, é preciso:
Identificar os dados de entrada (presentes na imagem).
Definir o número de clusters (presente no código).
Executar o K-Means manualmente ou por lógica, calculando os centróides iniciais e iterando até a convergência.
Comparar os centróides finais com os valores apresentados em cada alternativa.
A alternativa E é a única que apresenta os centróides que correspondem à execução correta do algoritmo com os dados fornecidos. As demais alternativas contêm valores que não correspondem aos centróides calculados, seja por erro na média, na inicialização ou no número de clusters.
Os valores apresentados não correspondem aos centróides calculados pelo K-Means com os dados do código. Possivelmente, a alternativa considera uma inicialização diferente ou um número de clusters incorreto, resultando em médias que não refletem a partição final dos dados.
Os centróides listados não são os resultantes do algoritmo. Pode haver um erro na atribuição dos pontos aos clusters ou no cálculo das médias, gerando valores que não minimizam a soma das distâncias quadradas intra-cluster.
Os valores não batem com a execução do K-Means. A alternativa pode ter utilizado uma inicialização que converge para um ótimo local diferente, ou pode ter considerado um número de iterações insuficiente para a convergência.
Os centróides apresentados não são os finais do algoritmo. Provavelmente, houve um erro na interpretação dos dados ou no cálculo das médias, resultando em coordenadas que não representam os centros reais dos clusters.
Esta alternativa apresenta exatamente os centróides calculados pelo K-Means após a convergência, considerando os dados e o número de clusters definidos no código. Os valores correspondem às médias dos pontos em cada cluster, confirmando a execução correta do algoritmo.
Gabarito: letra E
Link permanente: /questoes/fg125972