Você tem três versões de um algoritmo de validação de senha com regras diferentes (mínimo de caracteres…
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
Você tem três versões de um algoritmo de validação de senha com regras diferentes (mínimo de caracteres, exigir dígito, exigir símbolo). Para criar uma única rotina parametrizável que trate todas as instâncias, qual estratégia de solução deve ser aplicada e qual variável representa o mínimo de caracteres?
- A) Adicionar um parâmetro 'documentacao' para especificar detalhes da senha.
- B) Estratégia: generalização; Variável: 'min_length' (inteiro) que define o comprimento mínimo.
- C) Usar uma variável global para definir o mínimo de caracteres na rotina.
- D) Implementar três funções separadas para cada tipo de validação de senha.
- E) Criar um dicionário com as regras específicas como chaves.
✅ Resposta correta: alternativa B
Resolução passo a passo
- A questão pede duas coisas: a estratégia para criar uma única rotina que sirva para todas as versões do validador e a variável que representa o mínimo de caracteres. Passo 2: Como as três versões diferem apenas nos valores das regras (mínimo de caracteres, exigência de dígito, exigência de símbolo), a estratégia adequada é a generalização: extrair o que é comum e transformar o que varia em parâmetros da rotina. Passo 3: O mínimo de caracteres é um valor numérico inteiro, então a variável natural é min_length, que recebe o comprimento mínimo exigido em cada instância. Passo 4: Por que as outras estão erradas: A) documentação descreve o comportamento, mas não é um parâmetro que a rotina consegue usar para validar. C) Uma variável global impede que cada instância tenha seu próprio mínimo e cria acoplamento entre partes do programa. D) Três funções separadas resolvem o problema para casos fixos, mas duplicam código e não formam uma rotina única parametrizável. E) Um dicionário de regras pode até organizar os dados, mas a questão pede a variável que representa o mínimo, e a alternativa não a identifica. Passo 5: Conclusão: a resposta correta é a B, pois generalizar com um parâmetro inteiro min_length atende exatamente ao enunciado. O gabarito oficial está correto.
💡 Dica: Analise as regras e proponha uma solução genérica.
Alternativa por alternativa
O aluno acredita que documentar as regras (por exemplo, em um campo de descrição) torna a rotina parametrizável. Documentação não altera o comportamento do código e não substitui um parâmetro executável.
A generalização converte regras específicas em parâmetros configuráveis; 'min_length' permite ajustar o requisito de comprimento sem alterar o algoritmo.
O aluno entende que usar uma variável global já parametriza a rotina. Na verdade, o global é um valor único compartilhado, o que impede instâncias diferentes com mínimos diferentes e aumenta o acoplamento.
Por que engana: Escolher a alternativa que sugere o uso de variáveis globais, acreditando que isso simplificaria a implementação, mas na verdade pode causar problemas de manutenção e legibilidade do código.
O aluno confunde especialização com generalização e acha que criar uma função para cada regra é a forma de tratar todas as instâncias. Isso duplica a lógica e não produz uma única rotina reutilizável.
O aluno percebe que as regras podem ser organizadas como dados, mas lê mal a pergunta, que pede a estratégia e a variável específica do mínimo de caracteres. O dicionário não identifica essa variável.
Raio-X da questão
algoritmo de validação
avaliacao
estratégias de programação · variáveis em algoritmos
Revisar conceitos de algoritmos e validação de senhas.
Escolher a alternativa que sugere o uso de variáveis globais, acreditando que isso simplificaria a implementação, mas na verdade pode causar problemas de manutenção e legibilidade do código.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resolução
- Uma casa de cultura organiza duas mostras e quer usar o mesmo sistema de bilheteria. Na Mostra A, o ingresso inteiro…
- Em um aplicativo de lanches, a pessoa escolhe os itens do pedido, informa quantidades, endereço de entrega e forma de…
- No fim da tarde, a cozinha solidária do bairro recebe pedidos por mensagem e imprime um bilhete para cada entrega. O…
- No terminal de um abrigo de animais, os voluntários passaram a registrar a chegada de cães e gatos em um sistema…
- Na entrada de um clube de leitura, um painel eletrônico libera o acesso às oficinas com base em duas informações: a…
- — "No aplicativo, o usuario consegue fazer duas coisas principais", explicou a atendente ao descrever o servico digital…
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
