Stela Python Aulas Aula 7

Aula 7 Situação-problema Unidade 3

Como um sistema decide quem pode entrar?

if, elif e else montando um controle de acesso de verdade.

Objetivo do dia

Transformar regras de acesso em decisões no código, com fluxograma e estruturas de decisão.

Antes da aula

Revisar operadores relacionais e lógicos.

Como conta ponto

Lista de exercícios de decisão (Moodle).

P1 · o problema

As regras da empresa

Administradores entram a qualquer hora. Funcionários só entram das 8h às 18h. Visitantes não entram no sistema. E ninguém entra com senha de menos de 8 caracteres ou igual ao nome de usuário. Antes do código, o grupo desenha o fluxograma dessas regras.

C1–C3 · conceitos

Decidindo no código

C1

if, elif e else

O if executa o bloco só se a condição for verdadeira. O elif testa outra condição quando a anterior falhou. O else pega todo o resto.

O Python testa de cima para baixo e para no primeiro caminho verdadeiro.

1perfil = "funcionario"2hora = 2034if perfil == "admin":5    print("Acesso liberado")6elif perfil == "funcionario" and 8 <= hora < 18:7    print("Acesso liberado")8elif perfil == "funcionario":9    print("Fora do horário")10else:11    print("Acesso negado")1213# Fora do horário
C2

Indentação é regra, não enfeite

Em Python, o que está dentro do if é o que está recuado (4 espaços). Sem recuo, o Python não sabe onde o bloco acaba.

Os dois-pontos : no fim da linha do if, do elif e do else são obrigatórios.

Cuidado: misturar tab e espaço dá IndentationError. Deixe o VS Code cuidar disso.

C3

Validando a senha

Condições compostas juntam regras: len(senha) >= 8 and senha != usuario.

A função len() conta os caracteres de um texto.

1usuario = "bia"2senha = "bia"34if len(senha) < 8:5    print("Senha curta demais")6elif senha == usuario:7    print("A senha não pode ser o usuário")8else:9    print("Senha aceita")1011# Senha curta demais
CU1 · caso de uso

Liberar ou negar o acesso

Ator: Funcionário

Objetivo: Entrar no sistema dentro das regras da empresa.

Fluxo principal

  1. O funcionário informa o perfil, a hora e a senha.
  2. O sistema confere o perfil (admin, funcionário ou visitante).
  3. Confere o horário permitido.
  4. Confere a senha.
  5. Libera ou nega, dizendo o motivo.

E se...

  • Visitante tenta entrar: o acesso é negado, qualquer que seja a hora.
  • Admin fora do horário: o acesso é liberado.

Para pensar

  1. Em que ordem os if e elif precisam ficar?
  2. Quantos testes diferentes provam que as regras funcionam?
A1 · atividade

Controle de acesso

Do fluxograma do grupo para o código. O que você marcar fica salvo neste navegador.

0 de 8
S1 · conexão STEAM

Decisões fora da tela

E

Eletrônica

Uma fechadura eletrônica com ESP32 faz exatamente isso: lê o crachá, confere o horário e decide se aciona o relé da porta.

M

Matemática

8 <= hora < 18 é um intervalo da matemática: fechado no 8, aberto no 18.

A

Artes

Um bom fluxograma de acesso parece um mapa de metrô: cada estação é uma regra, cada linha um caminho.

D1 · desafio extra

Terminou antes? Tem mais.

Bloqueie o acesso de qualquer perfil aos domingos. Onde essa regra precisa ficar para valer até para o admin?

J1 · materiais

Para estudar e praticar

E1 · entrega

Lista de exercícios no Moodle e commit

Na próxima aula tem a atividade avaliativa prática. Venha com o controle de acesso funcionando.