GeraProva GeraProva Provas com IA para professores do Brasil
Computação6º anoBNCC EF06CO06Difícil⏱ longo

Projete um algoritmo generalizado que receba uma coleção de registros e uma função parâmetro 'valida(reg)' que…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF06CO06

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 um algoritmo generalizado que receba uma coleção de registros e uma função parâmetro 'valida(reg)' que indique se um registro é aceitável; defina entradas, saídas, tipos de dado e explique como aplicar decomposição, generalização e reúso para construir a solução.

✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.

Resposta esperada

Assinatura: separar(collection: list<Record>, valida: Record->bool) -> (aceitos: list<Record>, rejeitados: list<Record]). Pseudocódigo: for r in collection: if valida(r) append r to aceitos else append r to rejeitados. Tipos: list<Record> e função Record->bool. Decomposição: separar iteração, validação e acúmulo em funções; Generalização: passar valida como parâmetro para aceitar critérios distintos; Reúso: implementar validações específicas (ex.: valida_id, valida_data) e reaproveitar a função 'separar' para várias coleções e políticas.

Explicação

A solução proposta organiza o problema em uma função clara que separa registros com base em critérios definidos, permitindo fácil adaptação a diferentes situações. A decomposição em funções menores facilita a manutenção e a legibilidade do código, enquanto a generalização e o reúso promovem a flexibilidade e a eficiência, permitindo que a mesma lógica seja aplicada a diversas coleções e regras de validação. Isso resulta em um algoritmo eficiente e modular, que pode ser facilmente expandido ou modificado conforme necessário.

Raio-X da questão

Dificuldade Difícil
Leitura alto
Discriminação alto
Peso pedagógico alto
Autonomia do enunciado completo
Cobertura da habilidade multipla
🧪 Simulado🩺 Diagnóstico🧮 Exige cálculo🏠 Cotidiano🔗 Interdisciplinar⭐ Representativa✍️ interpretativa🧩 desafio
🎯 Conceito central

algoritmos e validação

📌 Objetivo

avaliacao

🧱 Pré-requisitos

noções de algoritmos · funções em programação

📚 Reveja

Revisar conceitos de algoritmos e funções em programação.

⚠️ Erro mais comum

O aluno pode confundir a função de validação com a lógica de processamento dos registros, não separando claramente as responsabilidades.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

abstrato

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.