Implementation and Simulation of Priority Queues and Traffic Systems in Java

Page 1 sur 1Lecteur de document UniversityLib

Implementation and Simulation of Priority Queues and Traffic Systems in Java

Computer Science and Programming · lab

Voir tous les documents en programmation

ISI - MP2L - Programmation Java - A. Khalfallah

Exercice 1

Une file de priorité est une structure de données qui permet de stocker un ensemble

d’informations par rapport à leurs priorités d’une part et par rapport à leurs ordres d’entrée

dans la file d’autre part. Soient deux informations I1 et I2 : la priorité de la première étant

P1 et la priorité de la seconde étant P2. Il y a deux cas de figures :

  • P1=P2 : dans ce cas si I1 est entré dans la file avant I2 alors il doit en sortir

avant I2 sinon I2 sort avant I1

Publicité

  • P1P2 : dans ce cas l’information de priorité la plus élevée sort avant l’autre

indépendamment de l’ordre d’entrée de I1 et I2.

La priorité se définit comme un entier : la priorité la plus élevée est 0, la priorité la plus basse

est 10.

On souhaite implanter une classe FilePrio qui offre les méthodes suivantes :

  • Entrer : qui étant donnée une information et sa priorité permet de faire entrer

l’information dans la file de priorité.

  • Sortir : qui retourne l’information qui doit sortir de la file et supprime

Publicité

l’information de la file.

  • Consulte : qui étant donnée une priorité retourne d’une part le nombre

d’informations de la file ayant cette priorité et d’autre part un tableau contenant

les informations de la file ayant cette priorité.

Question : Donner le code de la classe FilePrio. Cette classe devra être générique par

rapport au type de l’information stockée dans la file.

Exercice 2

On souhaite simuler un carrefour constitué de quatre rues : les rues A, B, C et D dans

Publicité

lesquelles arrivent des véhicules. On distingue deux sortes de véhicules : les voitures et les

ambulances. Les ambulances doivent sortir du carrefour avant les voitures indépendamment

de la rue dans laquelle elles se trouvent et dans l’ordre ou elles sont arrivées dans le carrefour.

Les voitures doivent sortir du carrefour dans l’ordre où elles sont arrivées mais en tenant

compte du fait que les voitures de la rue A sont plus prioritaires que les voitures de la rue B

qui sont plus prioritaires que les voitures de la rue D qui sont plus prioritaires des voitures de

la rue D.

On introduit une classe Carrefour qui offre les méthodes suivantes :

Publicité

  • Entrer qui étant donné un véhicule défini par son numéro d’immatriculation qui

est un entier, son type voiture ou ambulance et la rue par laquelle il arrive A, B, C

ou D permet de faire enter le véhicule dans le carrefour.

  • Sortir qui retourne le véhicule qui doit sortir du carrefour et le fait sortir du

carrefour.

Question : Donner le code de la classe carrefour. Il convient pour cela d’introduire une classe

Véhicule et d’utiliser la classe FilePrio de l’exercice 1.