Em um algoritmo que valida credenciais, a variável senha (texto) deve ter pelo menos 8 caracteres e conter o…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Explorar e construir a solução de problemas por meio de refinamentos, utilizando diversos níveis de abstração desde a especificação até a implementação.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Em um algoritmo que valida credenciais, a variável senha (texto) deve ter pelo menos 8 caracteres e conter o caractere '@'. Escreva a condição booleana que implementa essa seleção condicional.
- A) len(senha) >= 8 AND '#' in senha
- B) len(senha) >= 7 AND '@' not in senha
- C) len(senha) < 8 OR '@' in senha
- D) len(senha) == 8 AND '@' in senha
- E) len(senha) >= 8 AND '@' in senha
✅ Resposta correta: alternativa E
Resolução passo a passo
- A condição exige duas coisas ao mesmo tempo: a senha ter pelo menos 8 caracteres e conter o caractere '@'. Ou seja, as duas condições devem ser verdadeiras simultaneamente, o que pede o operador lógico AND.
- Pelo menos 8 caracteres se escreve len(senha) >= 8, pois 'pelo menos' inclui o valor 8 e qualquer tamanho maior.
- Conter o caractere '@' se escreve '@' in senha.
- Juntando as duas partes com AND, obtemos len(senha) >= 8 AND '@' in senha, que é exatamente a alternativa E. O gabarito oficial está correto.
- Por que as outras estão erradas: A troca '@' por '#', o que muda o caractere exigido. B usa len(senha) >= 7, aceitando senhas de tamanho insuficiente, e ainda exige que '@' NAO esteja na senha, o oposto do enunciado. C usa OR e '<', invertendo a lógica: aceitaria senhas curtas sem '@' desde que tivessem uma das condições. D usa == 8, aceitando apenas senhas de exatamente 8 caracteres, quando o enunciado diz 'pelo menos 8'.
💡 Dica: Verifique a quantidade de caracteres e a presença do caractere '@'.
Alternativa por alternativa
O aluno trocou o caractere exigido '@' por '#', lendo mal o símbolo pedido no enunciado.
O aluno acha que 'pelo menos 8' equivale a 7 ou mais e inverte a exigência do '@', usando 'not in' em vez de 'in'.
Por que engana: O aluno pode confundir a condição de comprimento da senha, utilizando um valor incorreto como 7 ao invés de 8.
O aluno usa OR em vez de AND, achando que basta satisfazer uma das condições, e inverte o sinal de 'pelo menos' para menor que 8.
O aluno traduz 'pelo menos 8' como 'exatamente 8' e usa o operador de igualdade, ignorando senhas mais longas.
Combina verificação de comprimento (>= 8) com teste de presença de '@' usando o operador lógico AND, exigindo ambas as regras.
Raio-X da questão
validação de senha
fixacao
condições booleanas · operações com strings
Revisar as condições de validação de strings em algoritmos.
O aluno pode confundir a condição de comprimento da senha, utilizando um valor incorreto como 7 ao invés de 8.
ciencia_tecnologia
tomada_decisao
abstrato
Questões parecidas com resolução
- Um sistema deve verificar se a senha digitada por um usuário é válida. A senha deve ter pelo menos 8 caracteres, conter…
- Em pseudocódigo, ao validar uma senha que deve ter ao menos 8 caracteres e conter letra e número, qual operador lógico…
- Um formulário recebe a variável 'senha' = 'pa55w0rd' (tipo string). Qual condição em pseudocódigo verifica se 'senha'…
- Descreva em pseudocódigo um algoritmo que verifique se uma senha atende requisitos mínimos: pelo menos 8 caracteres, ao…
- Projete em pseudocódigo um algoritmo que valide a força de uma senha recebida como dado: a senha deve ter pelo menos 8…
- Você está desenvolvendo um algoritmo que deve verificar se uma senha é forte. Uma senha é considerada forte se tiver…
🔎 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
