Sistema de Elevadores — Faculdade Senac
Desenvolvido por João Vicente e Mateus Andrade
Gincana de Python — 1º Semestre ADS
Sobre o projeto
Simulação de um sistema de elevadores para um prédio com 7 paradas: 2 subsolos, térreo e 4 andares. O sistema gerencia dois elevadores simultaneamente, escolhe automaticamente o mais próximo de cada chamada e exibe o movimento andar por andar no terminal.
Estrutura do prédio
| -2 | Subsolo 2 — Garagem inferior |
| -1 | Subsolo 1 — Garagem superior |
| 0 | Térreo — Entrada principal |
| 1 | 1º Andar — Salas de aula |
| 2 | 2º Andar — Laboratórios |
| 3 | 3º Andar — Biblioteca |
| 4 | 4º Andar — Administração |
Como executar
Basta ter o Python instalado. Nenhuma biblioteca externa é necessária.
python main.py
Funcionalidades
| Opção | O que faz |
|---|
1 | Chama um elevador — informa nome, origem e destino |
2 | Mostra a posição atual dos dois elevadores |
3 | Dispara um evento surpresa aleatório |
4 | Exibe estatísticas de viagens da sessão |
0 | Encerra o sistema |
Como o sistema escolhe o elevador
Usa a função abs() para calcular a distância de cada elevador até o andar de origem. O mais próximo é escolhido. Em caso de empate, o Elevador A tem prioridade.
distancia_a = abs(pos_a - andar_chamada)
distancia_b = abs(pos_b - andar_chamada)
Conceitos Python utilizados
- Variáveis e tipos — posições, contadores, strings de nome
- Dicionário — mapeamento de número do andar para nome descritivo
- Lista — andares válidos para validação de entrada
- Funções — cada responsabilidade em seu próprio
def
while — loop principal do menu e validação de entrada
if / elif / else — tomada de decisão em todo o sistema
abs() — cálculo de distância entre andares
global — atualização das posições e contadores entre funções
random.choice() — sorteio de eventos surpresa
time.sleep() — animação de movimento dos elevadores
- f-strings — formatação das mensagens no terminal
Eventos surpresa
O sistema sorteia aleatoriamente um de 6 eventos divertidos.
Estatísticas
Ao sair, o sistema exibe quantas viagens cada elevador realizou na sessão e aponta qual trabalhou mais — ou registra empate.