Projeto Final

Boa Tarde Pessoal.

Inscrevi-me a meio do curso de Informática , Redes e Multimédia , e tenho um projeto de Introdução à programação que precisava mesmo resolver .

Se puderes ajudar-me agradecia-lhes imenso.

Aqui fica o enunciado :

Simulação de um Parque de Estacionamento

Objetivo

Desenvolver uma aplicação na linguagem Java para registar e manipular a
informação relativa à simulação do funcionamento de um parque de
estacionamento.

Estrutura do parque

O parque foi edificado em dois pisos (rés-do-chão e primeiro piso), e tem capacidade para duzentos veículos (cento e sessenta ligeiros, vinte pesados e vinte motociclos), dispostos da seguinte forma:

  • Os ligeiros ocupam o primeiro piso (Piso 1), repartidos por dez filas de dez lugares cada e, ainda, o rés-do-chão (Piso 0) repartidos por seis filas de dez lugares cada;
  • Os pesados ocupam o Piso 0 repartidos por duas filas de dez lugares cada;
  • Os motociclos, tal como os pesados, ocupam o Piso 0 e encontram-se dispostos por duas filas de dez lugares cada.

Regulamento do parque

De forma a otimizar o funcionamento do parque a sua direção implementou o seguinte sistema:
- Um veículo só pode entrar no parque se existir um lugar vago para a sua categoria;

  • Ao entrar são guardados os seguintes os dados: matrícula e hora de entrada;
  • O veículo estaciona sempre no primeiro lugar disponível para a sua categoria;
  • Ao sair do parque é atualizada a sua hora de saída, calculado o montante a pagar pelo estacionamento e liberto o respetivo espaço de estacionamento que ocupava.

Configuração da simulação

Inicialmente, e antes de se iniciar a simulação, o utilizador necessita de configurar a mesma introduzindo, para tal, os seguintes dados:

  • tempo total de simulação: um valor inteiro representativo do tempo em horas;
  • hora de início da simulação: um valor no formato hh:mm indicativo da hora a que se inicia a simulação;
  • probabilidade de entrada no parque de cada tipo de veículo: um valor pertencente ao intervalo [0,1[, sendo que a soma das três probabilidades deverá ser 1;
  • tempo entre chegadas: valor inteiro, em segundos, indicativo do intervalo médio entre chegadas. Cada chegada será calculada segundo uma distribuição exponencial;
  • tempo de permanência: valor inteiro, em segundos, indicativo do intervalo médio de estacionamento. Cada estacionamento será calculado segundo uma distribuição uniforme;
  • valor a pagar: valor a ser pago pelo estacionamento por cada fração de 15 minutos.

Execução da simulação

Para executar esta simulação irá recorrer-se a uma fila de eventos futuros (fef), cuja função será ordenar por ordem temporal o próximo evento a ocorrer (chegada ou saída).

Se a fila estiver vazia será necessário gerar o tempo da próxima chegada de veículo, caso contrário, dever-se-á tratar o evento que está na frente da fila.

Evento de chegada

O tratamento de um evento de chegada implica criar o veículo que está a chegar e verificar se existe lugar disponível de acordo com o seu tipo. Se existir um lugar disponível então deverá afetar-se o lugar de estacionamento ao veículo e criar um evento de saída para o veículo em questão. Se não existir um lugar disponível deverá contabilizar-se como perdido.

Por fim, é necessário criar um novo evento de chegada.

Evento de saída

O tratamento de um evento de saída implica atualizar a hora de saída do veículo, calcular o montante a pagar por este e libertar o lugar que ocupava, passando o veículo para a lista de estacionamentos (lstEstacionamentos),devendo ser inserido de acordo com o seu tempo de chegada ao parque.

Resultados da simulação

Após a conclusão da simulação os dados da simulação deverão ser apresentados para o ecrã as seguintes informação:
- Dados da configuração;

  • Número de veículos de cada categoria que entraram e saíram do parque;
  • Número de veículos de cada categoria que foram dados como perdidos por falta de lugares disponíveis no parque;
  • Tempo médio de estacionamento;
    - A receita obtida.

Estas informações deverão ser guardadas num ficheiro de texto (simulXXX.txt). Já os dados contidos na lista de estacionamentos deverão ser guardados num ficheiro
binário (simulXXX.dat).

Por fim, é gerado um ficheiro html, com o mesmo nome dos anteriores, contendo os dados incluídos nos ficheiros anteriores.

Desenvolvimento

  1. Identificar os tipos de informação necessários à representação da informação.
  2. Implementar as funcionalidades descritas no enunciado.
  3. Implementar o interface entre o utilizador e a aplicação.

Muito Obrigado.

Cumprimentos

Há aqui muita gente que ajuda. Mas para isso tens de colocar as dúvidas…

Pois para já ainda não surgiram , porque ainda não o começei a resolver.

só queria era saber se já tinha visto ou trabalhado nalguma coisa parecida.

De qualquer maneira , e a bom tempo , pedir-vos-ei mais ajuda.

obrigado.