GeraProva GeraProva Provas com IA para professores do Brasil
Computação2ª sérieBNCC EM13CO04Média⏱ medio

Ao generalizar um algoritmo de filtragem para aceitar diferentes critérios sem alterar seu corpo, que tipo de…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EM13CO04

Reconhecer o conceito de metaprogramação como uma forma de generalização na construção de programas, permitindo que algoritmos sejam entrada ou saída para outros algoritmos.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Ao generalizar um algoritmo de filtragem para aceitar diferentes critérios sem alterar seu corpo, que tipo de parâmetro deve ser adicionado para representar a condição (por exemplo 'idade > 18')?

  1. A) Um número que representa o limite etário, como 18.
  2. B) Um valor booleano fixo que sempre retorna verdadeiro ou falso.
  3. C) Um parâmetro função/predicado (callback) que recebe um elemento e retorna verdadeiro/falso.
  4. D) Um tipo de dados inteiro que representa uma condição numérica.
  5. E) Um string que descreve a condição como texto, como 'idade > 18'.

✅ Resposta correta: alternativa C

Resolução passo a passo

  1. O enunciado pede o tipo de parâmetro que permite trocar o critério de um algoritmo de filtragem (por exemplo, 'idade > 18') sem alterar o corpo do algoritmo. Passo 2: Resolvendo por conta própria, a ideia central é separar o 'como filtrar' (a estrutura de percorrer a lista e separar os elementos) do 'o que é aceito' (o critério). Para que o critério possa variar, ele precisa ser recebido de fora como um parâmetro que se comporta como uma regra. Passo 3: Essa regra é uma função (predicado ou callback) que recebe um elemento e devolve verdadeiro ou falso. O algoritmo chama essa função para cada elemento e mantém apenas os que retornam verdadeiro. Assim, trocar 'idade > 18' por 'nota >= 7' exige apenas passar outra função, sem mexer no corpo. Passo 4: A alternativa A é um número fixo, que serve para um único limite e não representa uma condição geral. Passo 5: A alternativa B é um booleano fixo, que não varia com o elemento analisado e, portanto, não filtra nada. Passo 6: A alternativa D é um tipo de dado, e não um mecanismo de variação de critério. Passo 7: A alternativa E é um texto, que o algoritmo não consegue executar sem um interpretador, o que quebra a generalidade pretendida. Passo 8: O gabarito oficial (C) está correto e coincide com a resolução feita aqui, sem divergência.

💡 Dica: Pense sobre como os parâmetros podem ser utilizados em funções.

Alternativa por alternativa

A Erradaerro: Conceituala que mais engana

O aluno acredita que basta parametrizar o valor-limite (18) para generalizar o filtro. Esse raciocínio resolve apenas o caso de um limite numérico, pois trocar a operação (por exemplo, de maior para igual) ou o campo comparado exigiria alterar o corpo.

Por que engana: Confundir a necessidade de um parâmetro dinâmico com um valor fixo, escolhendo uma alternativa que não permite flexibilidade na condição.

B Erradaerro: Conceitual

O aluno confunde o resultado de um teste com o próprio critério, imaginando que um booleano fixo possa representar a condição. Um valor booleano fixo não depende do elemento analisado, então não consegue decidir quais itens passam no filtro.

C Correta

Passar um predicado separa a condição da rotina genérica, permitindo reutilização para vários critérios sem modificar o algoritmo principal.

D Erradaerro: Conceitual

O aluno pensa que declarar um tipo inteiro para o parâmetro já representa uma condição numérica. Um tipo de dado descreve a forma do valor, não a regra de decisão aplicada a cada elemento.

E Erradaerro: Senso comum

O aluno acredita que descrever a condição em texto, como 'idade > 18', já permite que o algoritmo a use. Sem uma etapa de interpretação ou avaliação, a string é apenas um dado e não executa a comparação.

Raio-X da questão

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

algoritmo de filtragem

📌 Objetivo

avaliacao

🧱 Pré-requisitos

algoritmo de filtragem · funções e parâmetros

📚 Reveja

Revisar como parâmetros funcionam em algoritmos.

⚠️ Erro mais comum

Confundir a necessidade de um parâmetro dinâmico com um valor fixo, escolhendo uma alternativa que não permite flexibilidade na condição.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

tomada_decisao

🏫 Contexto

abstrato

Questões parecidas com resolução

Todas as questões de [CONFERIR] Construir soluções baseadas no uso de algoritmos e conceitos da Computação para resolver problemas, avaliando suas qualidades e melhorando-as.

🔎 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.