Ao generalizar um algoritmo para aplicar operações distintas a elementos de uma coleção heterogênea, que tipo…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
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 para aplicar operações distintas a elementos de uma coleção heterogênea, que tipo de parâmetro permite passar a operação sem alterar o corpo do algoritmo?
- A) Um parâmetro que retorna um resultado fixo indipendete do elemento apresentado.
- B) Um parâmetro função (callback) que recebe um elemento e retorna o resultado da operação.
- C) Um parâmetro que define um valor fixo a ser aplicado a todos os elementos.
- D) Um parâmetro de tipo de dado específico que limita as operações permitidas.
- E) Um parâmetro de array contendo todas as operações a serem realizadas.
✅ Resposta correta: alternativa B
Resolução passo a passo
- A questão pergunta qual tipo de parâmetro permite trocar a operação aplicada a cada elemento de uma coleção sem mudar o corpo do algoritmo, que é a ideia de generalização por abstração de comportamento.
- Pense no exemplo de percorrer uma lista e aplicar uma transformação. Se o algoritmo recebe como parâmetro uma função (callback), que recebe um elemento e devolve o resultado da operação, o laço de repetição permanece igual e só muda a função passada. Isso torna o algoritmo genérico.
- Portanto, a alternativa correta é a B, que descreve exatamente um parâmetro função (callback) que recebe um elemento e retorna o resultado.
- A alternativa A está errada, pois um parâmetro que retorna sempre o mesmo resultado não varia a operação aplicada aos elementos.
- A alternativa C está errada, pois um valor fixo aplicado a todos os elementos impede que cada operação seja diferente.
- A alternativa D está errada, pois um parâmetro de tipo de dado restringe os elementos, mas não define a operação a ser aplicada.
- A alternativa E está errada, pois um array de operações exigiria estrutura adicional e não é o mecanismo geral de passagem de comportamento; o conceito pedido é o de função passada como parâmetro.
- O gabarito oficial B está de acordo com a resolução feita de forma independente.
💡 Dica: Pense sobre como funções podem ser passadas como parâmetros.
Alternativa por alternativa
O aluno imagina que um parâmetro pode 'fixar' o resultado e, com isso, generalizar o algoritmo, confundindo resultado constante com operação variável.
Passar a operação como função desacopla o comportamento do processamento; o mesmo laço pode executar diferentes transformações ou filtros sem modificar o algoritmo principal.
Entende que generalizar significa usar um único valor para todos os elementos, confundindo parâmetro de valor com parâmetro de comportamento.
Por que engana: Confundir o conceito de parâmetro fixo com o parâmetro função, acreditando que ambos permitem a mesma flexibilidade na operação.
Associa a heterogeneidade da coleção a restrições de tipo, supondo que o tipo do parâmetro define qual operação será feita.
Acredita que a melhor forma de variar operações é armazenar todas em um array passado como parâmetro, sem perceber que a função passada individualmente resolve o problema de forma mais direta.
Raio-X da questão
parâmetros de função
avaliacao
funções e parâmetros · algoritmos e coleções
Revisar o conceito de funções e parâmetros em algoritmos.
Confundir o conceito de parâmetro fixo com o parâmetro função, acreditando que ambos permitem a mesma flexibilidade na operação.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resolução
- Ao generalizar um algoritmo para processar coleções com elementos de tipos distintos (por exemplo números e texto), qual…
- Dado um algoritmo que multiplica dois números, como você criaria uma versão genérica que funciona para qualquer operação…
- Ao generalizar um algoritmo de agregação que será executado em paralelo sobre uma coleção, qual propriedade a operação…
- Em um algoritmo que recebe uma coleção de dados e um parâmetro 'limite' para filtrar elementos maiores que esse valor…
- Considere um algoritmo que decide aceitar ou rejeitar itens conforme uma política configurável (ex.: regras de…
- Ao generalizar um algoritmo que processa uma coleção e acumula resultados, qual prática relativa à variável acumuladora…
🔎 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
