Decomponha o problema: um algoritmo que autentica uma senha (texto) e registra o timestamp do último acesso…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Identificar os recursos ou insumos necessários (entradas) para a resolução de problemas, bem como os resultados esperados (saídas), determinando os respectivos tipos de dados, e estabelecendo a definição de problema como uma relação entre entrada e saída.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Decomponha o problema: um algoritmo que autentica uma senha (texto) e registra o timestamp do último acesso. Indique entradas, saídas e seus tipos de dado.
- A) Entradas: senha (string), credencial armazenada (hash:string), timestamp atual (datetime); Saídas: autenticado (boolean), registro atualizado (estrutura/JSON com campo datetime).
- B) Assinatura: intercalar(q1: stack<int>, q2: stack<int>) -> stack<int>.
- C) Entradas: duas listas de caracteres; Saída: fila de números reais.
- D) Assinatura: intercalar(a: array<int>, b: array<int>) -> array<int>.
- E) Entradas: queue<float>, queue<float>; Saída: queue<string>.
✅ Resposta correta: alternativa A
Resolução passo a passo
- O problema pede a decomposição de um algoritmo de autenticação de senha que também registra o timestamp do último acesso. Ou seja, precisamos identificar o que o algoritmo recebe (entradas), o que devolve (saídas) e o tipo de dado de cada item. Passo 2: Analisando a alternativa A, as entradas são a senha digitada (string, o texto informado pelo usuário), a credencial armazenada (hash, em formato string, pois a senha não deve ser guardada em texto puro) e o timestamp atual (datetime, o instante do acesso). Passo 3: As saídas são o resultado da autenticação (boolean, verdadeiro ou falso) e o registro atualizado (estrutura ou JSON com um campo datetime contendo o novo horário do último acesso). Esses itens cobrem exatamente o que o enunciado exige, com tipos coerentes com o domínio do problema. Passo 4: Por que as outras estão erradas: a alternativa B descreve a assinatura de uma função que intercala duas pilhas de inteiros, problema que não tem relação com autenticação; a alternativa C fala em listas de caracteres e fila de números reais, sem nenhuma ligação com senha, credencial ou timestamp; a alternativa D apresenta a assinatura de uma intercalação de vetores de inteiros, outro problema diferente; a alternativa E traz filas de float e saída em fila de string, que não correspondem às entradas e saídas de um processo de autenticação com registro de horário. Passo 5: Conclusão: a alternativa A é a única que decompõe corretamente o problema proposto, com entradas, saídas e tipos de dado adequados. O gabarito oficial A está correto.
💡 Dica: Identifique as entradas e saídas do algoritmo.
Alternativa por alternativa
Validação compara strings/hashes e retorna boolean; atualização produz um registro estruturado incluindo data/hora, portanto tipos string/hash, boolean e datetime/estrutura.
O aluno confunde a decomposição do problema com a escolha de uma função qualquer, supondo que basta apresentar uma assinatura de algoritmo com tipos de dados estruturados. Não percebe que a assinatura precisa refletir os dados do problema proposto.
Por que engana: Confundir os tipos de dados das entradas e saídas, como misturar strings com inteiros ou booleanos.
O aluno acredita que o problema pode ser descrito apenas pelos tipos genéricos de entrada e saída, sem verificar se eles correspondem ao enunciado. Listas de caracteres e fila de reais não representam senha, credencial nem timestamp.
O aluno entende que qualquer algoritmo que recebe arrays e devolve array atende ao enunciado, ignorando que o problema trata de autenticação e registro de acesso. Mistura a forma de escrever a assinatura com a decomposição pedida.
O aluno considera que filas de float e saída em string são suficientes para representar o problema, sem analisar o significado de cada entrada. Não associa a senha a um tipo texto nem o timestamp a um tipo de data e hora.
Raio-X da questão
algoritmo de autenticação
fixacao
tipos de dados em programação · estrutura de dados
Revisar conceitos de algoritmos e tipos de dados.
Confundir os tipos de dados das entradas e saídas, como misturar strings com inteiros ou booleanos.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resolução
- Em um algoritmo de autenticação escolar, qual tipo de dado é mais adequado para armazenar a senha ('senha') e por quê?
- Em pseudocódigo, ao armazenar uma senha como dado em uma variável para autenticação, qual tipo de dado é mais apropriado…
- Ao projetar um algoritmo de login que valida usuário e senha, aplicando decomposição para melhorar segurança e…
- Liste três subtarefas sequenciais para um algoritmo de recuperação de senha por e-mail indicando, para cada uma, a…
- Descreva em pseudocódigo um algoritmo que valide uma senha recebida como string conforme: mínimo 8 caracteres, ao menos…
- Descreva como você organizaria um algoritmo para gerenciar as senhas de diferentes usuários em um sistema. Quais…
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
