Ao decompor um algoritmo que valida vários tipos de entrada, que subtarefa promove generalização e reúso de…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Criar algoritmos fazendo uso da decomposição e do reúso no processo de solução de forma colaborativa e cooperativa e automatizá-los usando uma linguagem de programação.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Ao decompor um algoritmo que valida vários tipos de entrada, que subtarefa promove generalização e reúso de código por meio de funções?
- A) Criar uma função para cada tipo de entrada em vez de genéricas.
- B) Implementar funções genéricas de validação (por exemplo validarData, validarNumero) e chamá-las onde necessário para reutilizar a lógica.
- C) Utilizar validações específicas diretamente dentro de cada módulo sem funções.
- D) Executar validações apenas após a entrada do usuário, sem funções.
- E) Limitar validações a um único tipo de dado por módulo apenas.
✅ Resposta correta: alternativa B
Resolução passo a passo
- A questão pede a subtarefa da decomposição algorítmica que promove generalização e reúso de código por meio de funções. Decompor significa dividir o problema em partes menores; generalizar significa criar uma solução única que sirva a vários casos parecidos.
- A alternativa B descreve exatamente isso: funções genéricas de validação, como validarData e validarNumero, são escritas uma vez e chamadas sempre que necessário. Assim a lógica não é repetida e uma correção feita na função vale para todo o algoritmo.
- A alternativa A está errada porque criar uma função para cada tipo de entrada, em vez de funções genéricas, multiplica o código e impede o reúso.
- A alternativa C está errada porque colocar validações específicas dentro de cada módulo, sem funções, repete código e não promove generalização.
- A alternativa D está errada porque executar validações somente após a entrada, sem funções, não traz nenhum mecanismo de reúso ou generalização.
- A alternativa E está errada porque limitar as validações a um único tipo de dado por módulo restringe o escopo e vai contra a ideia de generalizar.
- Conclusão: a resposta correta é a alternativa B, que coincide com o gabarito oficial.
💡 Dica: Pense sobre como funções podem ser utilizadas para simplificar o código.
Alternativa por alternativa
O aluno acha que especializar uma função para cada tipo de entrada organiza melhor o código. Ele não percebe que isso contraria a generalização, que é justamente reutilizar uma única lógica.
Por que engana: O aluno pode confundir a necessidade de criar funções específicas para cada tipo de entrada, em vez de usar funções genéricas que promovem o reúso de código.
Funções genéricas centralizam regras de validação, facilitam reutilização e manutenção, evitando duplicação ao aplicar a mesma checagem em módulos distintos.
O aluno entende que validações colocadas diretamente em cada módulo são suficientes e simples. Ele não percebe que a ausência de funções gera repetição de código, o oposto do reúso.
O aluno associa validar 'depois da entrada' a uma boa prática de fluxo, sem atentar para a pergunta, que é sobre reúso por funções. Ele desconsidera o critério central do enunciado.
O aluno confunde organização com restrição, achando que cada módulo deve tratar apenas um tipo de dado. Isso limita o reúso em vez de generalizar a lógica de validação.
Raio-X da questão
generalização de código
avaliacao
funções em programação · validação de dados
Revisar conceitos de funções e reutilização de código em algoritmos.
O aluno pode confundir a necessidade de criar funções específicas para cada tipo de entrada, em vez de usar funções genéricas que promovem o reúso de código.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resolução
- Ao decompor um algoritmo que valida entradas de formulário com senha e e-mail, qual subtarefa deve isolar a verificação…
- Em um algoritmo que importa dados em formatos diferentes (CSV, JSON), qual subtarefa da decomposição promove…
- Ao decompor um algoritmo que recebe dados de cadastro escolar, qual subrotina deve ser isolada para verificar tipos e…
- Qual é o nome do processo que divide um algoritmo em subtarefas menores para facilitar implementação, teste e…
- Em uma página de cadastro, uma aluna criou funções separadas para validar nome, verificar idade e salvar os dados…
- Qual é a principal função da generalização em um algoritmo?
Todas as questões de Estratégias de solução de problemas - Reúso
🔎 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
