Vous êtes sur la page 1sur 2

Université Alger1/FS/ Dep MI L2 informatique/S4

Module : POO 2020-2021 Enseignant : DJAAFRI

Examen POO
On veut créer un programme qui permet de simuler une course entre plusieurs voitures, pour
cela on commence par créer une classe Etape. Une étape est le déplacement d’une voiture
durant un temps avec une vitesse constante.

1. La classe Etape permet de décrire le déplacement d’une voiture ayant les


attributs suivants:
• vit : de type réel exprimant la vitesse de déplacement de la voiture.
• dis : distance en km de type réel.
vit=70 km/h, dis=9.8km
La classe Etape définit les méthodes suivantes : => tempsEtape(..)=9.8/70= 0.14 h

• Un constructeur avec deux arguments est nécessaire pour initialiser un objet de la


classe Etape.
• Une méthode tempsEtape (..) calcule et retourne le temps nécessaire pour réaliser
une étape.

2. La classe ParcoursVoit permet de définir le déplacement d’une voiture sur plusieurs étapes.
La classe ParcoursVoit est définie par trois attributs:
• numVoit nombre entier qui identifie une voiture
• distParc la distance du parcours
• tabEtp tableaux objets de la classe Etape de taille 100.
• nbrEtp nombre d’objets Etape dans le tableau tabEtp

numVoit=3, distParc=10.95 km, nbrEtp=7

dis (km) 1.45 1.9 1 2.8 1 2.3 0.5


vit (km/h) 30 75 90 100 75 40 20


1
La classe ParcoursVoit doit réaliser les traitements suivants :
• constructeur avec deux arguments pour initialiser un objet de la classe ParcoursVoit.
• la méthode ajouterEtape(..) qui permet d’ajouter un nouvel objet Etape dans le
tableau tabEtp, on peut ajouter une étape si et seulement si :
o Il y a de la place dans le tableau tabEtp
o La vitesse (𝑑𝑒 𝑙′ é𝑡𝑎𝑝𝑒 𝑞𝑢′ 𝑜𝑛 𝑣𝑒𝑢𝑡 𝑎𝑗𝑜𝑢𝑡𝑒𝑟 ) doit être différente de la vitesse de
l’étape précédente.
o 𝒅𝒊𝒔𝒕𝑷𝒂𝒓𝒄 >= ∑𝑛𝑏𝑟𝐸𝑡𝑝
𝑖=1 𝒅𝒊𝒔𝒕 + 𝒅𝒊𝒔𝒕 (𝑑𝑒 𝑙′ é𝑡𝑎𝑝𝑒 𝑞𝑢′ 𝑜𝑛 𝑣𝑒𝑢𝑡 𝑎𝑗𝑜𝑢𝑡𝑒𝑟)

1/2
Université Alger1/FS/ Dep MI L2 informatique/S4
Module : POO 2020-2021 Enseignant : DJAAFRI

• la méthode tempsParcours(..) qui calcule et retourne le temps global du parcours


d’une voiture.

3. La classe Course est définie par les membres suivants :


• distCourse de type réel qui définit la distance que doivent parcourir les voitures dans
la course.
• tabParc: tableau d’objet de type ParcoursVoit de taille=20 ;
• un constructeur ayant deux arguments pour initialiser distCourse et tabParc. (le
constructeur ne réalise pas une copie profonde du tableau).
• une méthode vainqueur(..) qui permet d’afficher la voiture qui gagne la course et le
temps de son parcours global.
La voiture qui gagne la course est celle qui réalise le temps de parcours minimal.

Remarque

1. Les attributs définis dans les trois classes sont privés, rajouter les méthodes
nécessaires pour manipuler les attributs privés depuis l’extérieur.
2. Vous pouvez mettre les méthodes ajoutées à la fin de la solution (à l’extérieur des
classes)

2/2

Vous aimerez peut-être aussi