Você tem um algoritmo que filtra registros por campo fixo 'cidade'. Qual variável ou parâmetro deve ser…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
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
Você tem um algoritmo que filtra registros por campo fixo 'cidade'. Qual variável ou parâmetro deve ser adicionado para generalizá-lo a filtrar por qualquer campo (por exemplo, cidade, idade ou status)? Inclua termo 'variável' ou 'parâmetro'.
- A) Adicionar parâmetro 'campo' (string) e parâmetro 'valor'; comparar registro[campo] == valor
- B) Adicionar o parâmetro 'valor' apenas
- C) Adicionar variável 'cidade' e 'registro' para filtrar
- D) Adicionar parâmetro 'data' para filtrar
- E) Adicionar variável 'busca' ao invés de 'campo'
✅ Resposta correta: alternativa A
Resolução passo a passo
- O algoritmo original filtra registros comparando sempre um campo fixo, 'cidade'. Para que ele sirva a qualquer campo (cidade, idade, status), é preciso tornar parametrizáveis as duas partes variáveis da comparação: qual campo será lido e qual valor será procurado.
- Ao adicionar o parâmetro 'campo' (string), o nome do atributo deixa de ser fixo e passa a ser informado na chamada, por exemplo 'idade' ou 'status'.
- Ao adicionar o parâmetro 'valor', o termo buscado também deixa de ser fixo, podendo ser, por exemplo, 'Campinas', 30 ou 'ativo'.
- A condição genérica fica registro[campo] == valor, que lê o campo indicado no momento da execução e o compara com o valor informado. Isso cumpre exatamente a generalização pedida, por isso a alternativa A está correta e coincide com o gabarito.
- A alternativa B é insuficiente, pois sem o parâmetro 'campo' o algoritmo continua preso a um único atributo. A alternativa C mantém 'cidade' fixa e ainda cria 'registro' como variável, o que não generaliza nada. A alternativa D usa um parâmetro específico para data, restringindo a generalidade em vez de ampliá-la. A alternativa E troca o nome de 'campo' por 'busca', mas continua sem indicar qual atributo do registro deve ser comparado.
💡 Dica: Pense em como tornar o filtro mais flexível.
Alternativa por alternativa
Um parâmetro 'campo' torna o critério abstrato; combinando com 'valor' o mesmo algoritmo filtra diferentes instâncias sem modificar sua lógica.
O aluno acredita que basta tornar o valor buscado variável, pois associa generalização apenas a 'trocar o termo procurado'. Não percebe que o nome do atributo continua fixo no código.
Por que engana: O aluno pode confundir a necessidade de um parâmetro dinâmico com a adição de um parâmetro fixo, como 'cidade'.
O aluno confunde o que deve ser parametrizado: acha que 'cidade' e 'registro' são as variáveis que precisam aparecer, mantendo justamente o nome fixo que deveria ser generalizado.
O aluno pensa que generalizar significa escolher um tipo de dado específico como data, confundindo um parâmetro concreto de exemplo com uma solução genérica.
O aluno acredita que basta renomear a variável para 'busca', como se o nome da variável fosse o que torna o filtro genérico, sem perceber que é preciso indicar o campo a ser comparado.
Raio-X da questão
filtragem de dados
fixacao
variáveis e parâmetros em algoritmos · filtragem de dados
Revisar como criar funções que aceitam parâmetros variáveis.
O aluno pode confundir a necessidade de um parâmetro dinâmico com a adição de um parâmetro fixo, como 'cidade'.
ciencia_tecnologia
tomada_decisao
abstrato
Questões parecidas com resolução
- Na cantina da escola, Ana informa o lanche desejado, a quantidade e se vai pagar em dinheiro ou cartão. A atendente…
- Em um jogo criado pela turma, a pontuação de cada equipe é calculada multiplicando a quantidade de desafios concluídos…
- Em uma exposição, um painel registrou as cores dos crachás lidos na entrada. Lista A: azul, verde, azul, amarelo. Lista…
- Em uma cozinha, duas receitas foram preparadas em horários diferentes. Receita 1: uma torta de legumes começou a assar…
- Por que uma cozinha solidária pode ter alimentos guardados e, ainda assim, não conseguir montar todas as cestas…
- Moradores acompanham, pelo celular, um sistema de irrigação instalado em canteiros de uma praça. A cada manhã, dois…
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
