trabalhoI

Nesse projeto decidi por criar 4 classes:

CSemaforo, que contém as informações de qual a probabilidade de um carro entrar em qual pista, além de referências pra tais pistas;

CPista, a classe que representa uma pista e possui uma fila de carros da qual faz POP e PUSH de acordo com os carros que saem ou entram na pista;

CCarro, uma classe simples, apenas para representar o carro, contendo tamanho e posição em metros em relação ao início da pista;

CTransito é a classe de controle do sistema, a qual instanciará as classes que compoem o cenário e as relacionará de acordo.

 

A simulação é feita através de um FOR que para cada segundo do tempo que será simulado chama uma função da classe CTransito que analisará o que deve ocorrer em tal segundo, além de simular a movimentação de cada carro no mesmo, incluindo cálculos de tamanho dos carros para que um carro não possa ocupar o mesmo espaço que outro durante a simulação. Sendo assim a simulação é realizada em pequenos steps que simbolizam um segundo cada e que representam uma iteração do FOR.

(O trabalho inclui diversos printf() apenas para demonstração, ao removê-los, o processo se torna mais rápido pois não perde o tempo para imprimir os caracteres no console).