2008-11-16 9 views
2

HI J'ai résolu cette question de cours.Programme pour simuler des véhicules à une intersection en utilisant des files d'attente

Telle est la question:

Concevoir un programme pour simuler des véhicules à une intersection. Supposons qu'il y ait une voie dans chacune des quatre directions, avec des feux d'arrêt dans chaque direction. Varier l'heure d'arrivée des véhicules de manière aléatoire dans chaque direction et mettre en place une fréquence régulière des changements de lumière. Exécutez votre direction et mettre en place une fréquence régulière des changements de lumière. Exécutez votre simulation pendant une période donnée pour voir le "comportement" de l'intersection.

Coursework Exigence:

  1. doit être codé en java
  2. Utilisation des structures de données appropriées

Si quelqu'un a la moindre idée de la façon de le faire, s'il vous plaît aider; Je n'ai aucune idée.

+1

Je me demande ce véhicule se sent stimulé :-) –

+1

Le monoxyde d'azote est très bon pour stimuler les voitures :) –

+0

Stackoverflow FAQ suggère vous montrez les efforts que vous avez faits pour résoudre le problème, afin que les répondants puissent déterminer ce que vous comprenez déjà et fournir des réponses plus adaptées. De plus, cela vous donne l'impression de ne pas freiner la générosité des autres – Gareth

Répondre

1

Lire aboutqueues vous devez utiliser pour simuler chaque feu de circulation. Chaque voiture générée aléatoirement dans chaque couloir sera poussée dans la file d'attente correspondante et sortira de la file d'attente lorsque la lumière sera verte, et continuera à faire sauter les voitures aussi longtemps que (indice: vous devez simuler l'heure aussi (subhint) : regardez dans les machines à états finis)) la lumière est verte, bien sûr. Vous traitez chaque file d'attente dans l'ordre.

1

Certains comportements utiles à surveiller incluront mean, max et std. dev. du nombre de voitures qui attendent à chaque feu.

1

Pour gérer Stop/Wait/Go séquences lumière dans "Machines regard états finis"

+0

Vous voulez dire les automates –

+0

Où automates est le pluriel d'automate, peut-être préférable de simplement dire Machine d'état fini. –

+0

@Davide - cela ferait que le FSM possède quelque chose :) ( warren

1

Juste un petit indice. Ce ne sera pas une simulation de propper si vous ne configurez pas de constante pour simuler le temps que la voiture accélère jusqu'à ce qu'elle atteigne l'intersection. Si 10 voitures sont en file d'attente et que le feu passe au vert, elles ne traversent pas immédiatement l'intersection. En dehors de cela, vous avez vraiment besoin de connaître les files d'attente, en particulier les files d'attente FIFO et Event qui vous aideront à éviter d'entrer dans le monde du multithreading.

J'espère que vous n'avez pas besoin de start with Java avant d'aller dans les files d'attente.

0

Si vous avez accès à IEEE il y a un journal sur ce sujet est ici le link

Questions connexes