Nos exercícios abaixo, simulação quer dizer que você deve fazer um programa que permite uma interface entre o usuário e o que se está querendo simular. No caso do primeiro exercício, por exemplo, pode-se ter uma tela da seguinte forma:
Estado da lâmpada: apagada
O que você quer fazer?
1. Acender
2. Apagar
3. Sair
Sua opção: 1
Após a entrada do usuário, mostra novamente a tela:
Estado da lâmpada: acesa
O que você quer fazer?
1. Acender
2. Apagar
3. Sair
Sua opção:
1. Simulação Básica
Escreva um programa que simule uma lâmpada: ela pode estar acesa ou apagada (estado) e pode acender ou apagar (ações).
Soluções: sem encapsulamento / com encapsulamento e propriedades
2. Queime-se a Luz!
Melhore a simulação de forma que, na quinta vez em que a lâmpada é acendida, ela queima. Opcional: faça com que o número de vezes que a lâmpada acende antes de queimar seja aleatório.
Soluções: fixa (5 vezes) / aleatória
3. Manutenção
Melhore a simulação de forma que seja possível trocar a lâmpada queimada.
Solução: GitHub
4. Estúdio
Melhore a simulação de forma que seja possível controlar diversas lâmpadas (você escolhe quantas).
Solução: GitHub
5. Semáforo
Escreva um programa que simule um semáforo. Reuse o que foi feito nos exercícios anteriores.
6. Trânsito
Escreva um programa que simule os semáforos de um cruzamento de trânsito.