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

Projete um algoritmo em pseudocódigo que verifique a força de uma senha (string) recebida como dado. Considere…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF69CO02

Elaborar algoritmos que envolvam instruções sequenciais, de repetição e de seleção usando uma linguagem de programação.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Projete um algoritmo em pseudocódigo que verifique a força de uma senha (string) recebida como dado. Considere requisitos mínimos: comprimento = 8, contém pelo menos uma letra maiúscula, uma letra minúscula, um dígito e um caractere especial. Use variáveis, laços e explique a complexidade temporal.

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

Resposta esperada

Pseudocódigo: funcao verificarSenha(senha) tamanho <- len(senha) temMaiuscula <- falso temMinuscula <- falso temDigito <- falso temEspecial <- falso se tamanho < 8 entao retorna falso fimse para i de 0 até tamanho-1 faça c <- senha[i] se 'A' <= c <= 'Z' entao temMaiuscula <- verdadeiro senao se 'a' <= c <= 'z' entao temMinuscula <- verdadeiro senao se '0' <= c <= '9' entao temDigito <- verdadeiro senao temEspecial <- verdadeiro fimse fimpara retorna (temMaiuscula e temMinuscula e temDigito e temEspecial) fimfuncao Explicação: o algoritmo percorre cada caractere da string uma vez, atualizando variáveis booleanas que indicam presença de cada classe de caractere. Ao final, verifica se todas as condições são satisfeitas e retorna verdadeiro ou falso. Complexidade temporal: O(m), onde m é o comprimento da senha, pois o laço principal examina cada caractere uma única vez. Espaço extra: O(1) (constante) para as variáveis de verificação.

Explicação

O pseudocódigo apresentado efetivamente verifica todos os requisitos de força da senha, utilizando um laço que analisa cada caractere uma única vez. As variáveis booleanas permitem rastrear a presença de letras maiúsculas, minúsculas, dígitos e caracteres especiais de forma eficiente. A complexidade temporal é linear em relação ao comprimento da senha, garantindo que o algoritmo seja escalável e rápido.

Raio-X da questão

Dificuldade Difícil
Bloom Criar
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

força de senha

📌 Objetivo

avaliacao

🧱 Pré-requisitos

estrutura de controle · tipos de dados em programação

📚 Reveja

Revisar os critérios de segurança para senhas.

⚠️ Erro mais comum

O aluno pode esquecer de incluir a verificação de todos os requisitos da senha, como a presença de caracteres especiais ou a combinação de letras maiúsculas e minúsculas.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

abstrato

Questões parecidas com resolução

Todas as questões de Programação - Linguagem de programaçã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.