Em um algoritmo de autenticação, as variáveis são usuarioTipo (texto: 'admin'/'convidado') e ultimaAtividade…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
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
Em um algoritmo de autenticação, as variáveis são usuarioTipo (texto: 'admin'/'convidado') e ultimaAtividade (inteiro, dias). Escreva a expressão condicional que permite acesso se usuarioTipo for 'admin' ou, se for 'convidado', ultimaAtividade = 7.
- A) (numero % 2 = 0 AND numero < 10) OR sinalizado = false
- B) usuarioTipo = 'admin' OR (usuarioTipo = 'convidado' AND ultimaAtividade <= 7)
- C) numero % 2 = 1 AND numero > 10 AND numero < 50
- D) sinalizado = false AND numero < 10
- E) numero % 2 = 0 OR (numero < 10 AND numero > 50)
✅ Resposta correta: alternativa B
Resolução passo a passo
- O enunciado pede uma expressão que dê acesso se usuarioTipo for 'admin' ou, se for 'convidado', se ultimaAtividade for igual a 7. A forma correta seria: usuarioTipo = 'admin' OR (usuarioTipo = 'convidado' AND ultimaAtividade = 7). Passo 2: Comparando com as alternativas, apenas a B usa as variáveis do enunciado (usuarioTipo e ultimaAtividade) e tem a mesma estrutura lógica: a condição 'admin' em OR com uma conjunção que exige 'convidado' e a condição sobre ultimaAtividade. Passo 3: A B não está perfeitamente correta, porque usa ultimaAtividade <= 7 em vez de ultimaAtividade = 7. Com <= 7, um convidado com 3 dias de inatividade teria acesso, o que o enunciado não permite. Por isso, discordo parcialmente do gabarito: a B é a melhor opção disponível, mas não é exata, e o enunciado deveria ter a condição de igualdade. Passo 4: A alternativa A usa as variáveis numero e sinalizado, que não existem no enunciado, e tem a lógica de outro problema. Passo 5: A alternativa C também usa numero, que não aparece no enunciado, e impõe uma faixa de valores (maior que 10 e menor que 50) sem relação com o acesso por tipo de usuário. Passo 6: A alternativa D usa sinalizado e numero, sem relação com usuarioTipo nem com ultimaAtividade. Passo 7: A alternativa E também usa numero, e sua parte (numero < 10 AND numero > 50) é impossível, pois nenhum número é menor que 10 e maior que 50 ao mesmo tempo. Conclusão: a escolha é B, com a ressalva de que a condição ideal seria ultimaAtividade = 7.
💡 Dica: Analise as condições de acesso e escreva a expressão correta.
Alternativa por alternativa
O aluno pode ter se concentrado em montar uma expressão com OR e AND sem verificar quais variáveis o enunciado define. Ele aplicou uma lógica de outro problema, usando numero e sinalizado.
Por que engana: Confundir a lógica da condição, utilizando operadores incorretos ou a ordem errada na expressão condicional.
Admins têm acesso incondicional; convidados só se sua última atividade ocorreu há 7 dias ou menos, portanto usa-se OR entre as duas condições.
O aluno pode ter tratado a questão como um teste de faixa numérica e de paridade, esquecendo que o enunciado fala de tipo de usuário e dias de atividade. Ele usou numero, variável inexistente no enunciado.
O aluno pode ter achado que a expressão deveria combinar um sinalizador com um limite numérico, usando AND onde o enunciado pede OR entre tipos de usuário. Ele ignorou usuarioTipo e ultimaAtividade.
O aluno pode ter escrito a condição numero < 10 AND numero > 50 sem perceber que ela é impossível, pois nenhum número satisfaz as duas ao mesmo tempo. Ele também usou a variável numero, que não existe no enunciado.
Raio-X da questão
expressão condicional
avaliacao
expressões lógicas · condicionais em algoritmos
Revisar a sintaxe de expressões condicionais em algoritmos.
Confundir a lógica da condição, utilizando operadores incorretos ou a ordem errada na expressão condicional.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resolução
- Em um algoritmo, qual tipo de dado é mais adequado para a variável 'autenticacao_2fa' que indica se o usuário ativou…
- Num algoritmo de cobrança, as variáveis são tipoCliente (texto: 'aluno'/'comum'), diasMembro (inteiro) e cupom (texto)…
- Em um algoritmo de autenticação, as variáveis são tentativas (inteiro) e bloqueado (booleano). Escreva a condição…
- No pseudocódigo: senha <- ler(); se senha == 'abcd123' então acesso <- verdadeiro senão acesso <- falso. Qual o tipo de…
- Projete um algoritmo em pseudocódigo, usando seleção condicional, que determine se um usuário pode editar um documento…
- Em um algoritmo de entrada em uma sala, a variável “temAutorizacao” é usada para decidir se uma pessoa pode entrar. 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
