Projete a assinatura de um algoritmo generalizado chamado normalizar que aplica min–max scaling a um conjunto…
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
Projete a assinatura de um algoritmo generalizado chamado normalizar que aplica min–max scaling a um conjunto de registros numéricos. Indique pelo menos três parâmetros que a assinatura deve receber e identifique qual variável utilizada para calcular o mínimo e o máximo deve ser local ao algoritmo.
- A) Assinatura: normalizar(registros, campo, fator).
- B) Assinatura: normalizar(registros, campo, novo_min, novo_max). Parâmetros: registros, campo, novo_min/novo_max. Variáveis locais: min_val e max_val (calculadas internamente).
- C) Min_val e max_val devem ser parâmetros da função.
- D) Assinatura: normalizar(registros, novo_min, novo_max).
- E) Assinatura com apenas registros e campo.
✅ Resposta correta: alternativa B
Resolução passo a passo
- O min–max scaling transforma os valores de um campo para um intervalo escolhido, usando a fórmula x' = (x - min) / (max - min) * (novo_max - novo_min) + novo_min. Para que a função seja generalizada, ela precisa receber os dados (registros), o nome do campo a ser normalizado (campo) e os limites do intervalo de destino (novo_min e novo_max), que são os três parâmetros mínimos exigidos pela questão.
- O mínimo e o máximo do campo são valores que dependem dos próprios dados. Eles devem ser calculados dentro da função a partir dos registros, e não fornecidos pelo chamador, porque mudam conforme o conjunto de entrada. Por isso min_val e max_val são as variáveis locais do algoritmo.
- A alternativa B reúne exatamente essa estrutura: assinatura normalizar(registros, campo, novo_min, novo_max), com três ou mais parâmetros e com min_val e max_val calculados internamente. Ela está correta.
- A alternativa A está errada porque usa 'fator' no lugar dos limites do intervalo, o que não define o escalonamento min–max. A alternativa C está errada porque transforma min_val e max_val em parâmetros, justamente o contrário do que a questão pede. A alternativa D está errada porque omite o nome do campo, sem o qual a função não sabe quais valores normalizar. A alternativa E está errada porque tem apenas dois parâmetros, enquanto a questão exige pelo menos três, e não define os limites do novo intervalo.
- Conclusão: a resposta correta é a alternativa B, que coincide com o gabarito oficial.
💡 Dica: Identifique os parâmetros e a variável local para o cálculo.
Alternativa por alternativa
O aluno acredita que basta um parâmetro extra genérico, como um fator de escala, para definir a normalização, sem perceber que o min–max exige os limites do intervalo de destino.
Por que engana: O aluno pode confundir os parâmetros que devem ser passados para a função, incluindo variáveis que deveriam ser calculadas internamente em vez de passadas como argumentos.
Registros, campo e novos limites são entradas que definem o caso; min_val e max_val dependem dos dados da instância e devem ser recalculadas em cada execução, portanto são variáveis locais.
O aluno entende que, por serem valores usados no cálculo, min e max devem ser recebidos de fora, sem notar que dependem dos dados e devem ser calculados pela própria função.
O aluno esquece que a função precisa saber sobre qual campo dos registros atuar, pensando que os registros inteiros já bastam para normalizar.
O aluno considera suficiente receber apenas os dados e o campo, sem perceber que o intervalo de saída (novo_min e novo_max) também precisa ser definido como parâmetro.
Raio-X da questão
min-max scaling
fixacao
min-max scaling · funções em programação
Revisar conceitos de normalização de dados e algoritmos.
O aluno pode confundir os parâmetros que devem ser passados para a função, incluindo variáveis que deveriam ser calculadas internamente em vez de passadas como argumentos.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resolução
- Desenvolva um algoritmo em pseudocódigo que receba como entrada uma lista de dados numéricos (leituras de sensor) e…
- Em pseudocódigo, projete um algoritmo que receba uma lista de dados de sensores de luminosidade, cada registro com id…
- Projete um algoritmo generalizado que receba uma coleção heterogênea de registros e um mapa de normalização (que indica…
- Projete um algoritmo generalizado que receba uma coleção de registros de alunos com notas em várias disciplinas e…
- Projete a assinatura de um algoritmo que calcula o desvio padrão de uma coleção de dados numéricos e aceite uma variável…
- Projete um algoritmo generalizado que receba uma coleção de registros e uma função parâmetro 'valida(reg)' que indique…
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
