GeraProva GeraProva Provas com IA para professores do Brasil
Computação9º anoBNCC EF69CO06Média⏱ medio

Considere um algoritmo que encontra rotas em uma rede (grafo). Para generalizá-lo a diferentes métricas de…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF69CO06

Comparar diferentes casos particulares (instâncias) de um mesmo problema, identificando as semelhanças e diferenças entre eles, e criar um algoritmo para resolver todos, fazendo uso de variáveis (parâmetros) para permitir o tratamento de todos os casos de forma genérica.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Considere um algoritmo que encontra rotas em uma rede (grafo). Para generalizá-lo a diferentes métricas de custo (tempo, distância, risco), que tipo de parâmetro deve ser adicionado à assinatura e por que isso melhora o reúso do algoritmo?

  1. A) Adicionar um parâmetro que define o tamanho do grafo.
  2. B) Adicionar um parâmetro de lista de arestas.
  3. C) Adiciona um parâmetro de custo fixo para o algoritmo.
  4. D) Adicionar um parâmetro que representa apenas o tempo de cada aresta.
  5. E) Adicionar um parâmetro função custo(u,v) (função/closure) que retorna o peso da aresta; isto torna a métrica plugável e desacopla a lógica de busca do cálculo do custo.

✅ Resposta correta: alternativa E

Resolução passo a passo

  1. Identifique o problema. O algoritmo de busca de rotas (como Dijkstra ou A*) precisa comparar caminhos pelo custo total, mas o que significa 'custo' muda conforme o caso: tempo, distância ou risco. Se a fórmula de custo estiver fixa dentro do código, cada nova métrica exige uma cópia adaptada do algoritmo.
  2. Pense na solução. Para generalizar, o custo deve ser tratado como dado de entrada. A forma mais flexível é receber uma função custo(u,v) que, dados dois vértices conectados, devolve o peso daquela aresta segundo a métrica escolhida. Assim, a assinatura passa a ser algo como rota(grafo, origem, destino, custo).
  3. Verifique a alternativa E. Ela propõe exatamente isso: um parâmetro função custo(u,v) que retorna o peso da aresta. Isso torna a métrica plugável, pois basta passar outra função para mudar o critério, e desacopla a lógica de busca (quais vértices visitar, em que ordem, como atualizar as distâncias) do cálculo do custo. Por isso o reúso melhora: o mesmo código serve para tempo, distância, risco ou qualquer outra métrica futura, sem alteração.
  4. Analise as demais. A: o tamanho do grafo não define como o custo de cada caminho é calculado, então não generaliza a métrica. B: uma lista de arestas é dado estrutural da rede, não critério de custo. C: um custo fixo elimina justamente a variação que se quer tornar configurável. D: fixar apenas o tempo continua limitando o algoritmo a uma única métrica, apenas renomeada.
  5. Conclusão: a alternativa correta é a E, coincidindo com o gabarito oficial.

💡 Dica: Pense sobre como parâmetros podem afetar a flexibilidade do algoritmo.

Alternativa por alternativa

A Erradaerro: Conceitual

O aluno acha que generalizar exige adaptar o algoritmo ao tamanho da rede, confundindo escala do grafo com critério de medida do caminho.

B Erradaerro: Conceitual

O aluno confunde a estrutura de dados que representa a rede (lista de arestas) com o parâmetro que define como o custo é calculado.

C Erradaerro: Interpretação

O aluno entende que um custo fixo torna o algoritmo mais geral, quando na verdade ele trava uma única métrica; o termo 'parâmetro' foi lido como sinônimo de constante.

D Erradaerro: Conceituala que mais engana

O aluno acredita que basta trocar a métrica fixa de distância por uma métrica fixa de tempo para generalizar, sem perceber que a solução ainda não é plugável para risco ou outras métricas.

Por que engana: Confundir a necessidade de um parâmetro fixo com a flexibilidade que uma função de custo pode oferecer ao algoritmo.

E Correta

Uma função parâmetro permite selecionar métricas diferentes sem alterar o corpo do algoritmo, favorecendo reúso, testabilidade e composição de heurísticas.

Raio-X da questão

Dificuldade Média
Bloom Aplicar
Leitura alto
Discriminação medio
Peso pedagógico medio
Autonomia do enunciado completo
Cobertura da habilidade dupla
🧪 Simulado🩺 Diagnóstico🧮 Exige cálculo🏠 Cotidiano🔗 Interdisciplinar⭐ Representativa✍️ interpretativa🧩 progressao
🎯 Conceito central

algoritmos de grafos

📌 Objetivo

avaliacao

🧱 Pré-requisitos

funções e parâmetros em programação · estruturas de dados (grafos)

📚 Reveja

Revisar como parâmetros podem ser utilizados em funções para aumentar a versatilidade.

⚠️ Erro mais comum

Confundir a necessidade de um parâmetro fixo com a flexibilidade que uma função de custo pode oferecer ao algoritmo.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

cientifico

Questões parecidas com resolução

Todas as questões de Estratégias de solução de problemas - Generalização

🔎 Procurar outra questão

Procure no banco do GeraProva pelo tema ou por um trecho do enunciado. Cada questão já vem com resolução comentada e a análise de cada alternativa.

Professor: monte a prova com questões como esta, com gabarito e folha de respostas, em 30 segundos. Ver planos · Blog

Ocorreu um erro inesperado. Recarregar X

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.