0% ont trouvé ce document utile (0 vote)
11 vues3 pages

Devoir Surveillé en Programmation Objet

Transféré par

ons farid
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
11 vues3 pages

Devoir Surveillé en Programmation Objet

Transféré par

ons farid
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Institut Supérieur ‫المعهد العــــــــــــــــــــــــالي‬

des Etudes Technologiques ‫لدراسات التكنولوجية‬


de Mahdia ‫بالمهـديـة‬

Devoir Surveillé
Module : Programmation Orientée Objet Classe : Rx3.1
Documents : Non autorisés Durée : 1 heure
Enseignants : Mme BOUGHAMMOURA Hela Nombre de pages : 3 pages

QUESTION A CHOIX MULTIPLE (QCM) : (2 POINTS)

Pour les classes A et B définies comme suit:


class A {
public int x;
public A( ) {x=5; }
}
class B extends A {
public B( ) {x++;}
public B(int i){this( ); x=x+i; }
public B(String s){super( ); x- -; }
}
qu’affichera le code suivant?
B b1=new B();
B b2 =new B(2003);
B b3= new B(“Bonjour”);
[Link](b1.x + “et ” + b2.x + ” et encore ” + b3.x );

a. 6 et 2009 et encore 4
b. 1 et 2004 et encore 4
c. 1 et 2004 et encore 2003
d. autre chose

1|Page
Etude de cas (18 POINTS)

Objectif :
On souhaite créer une application pour la gestion des factures d’un magasin, pour cela on vous
demande d’écrire les classes de cette application.

Partie 1 : Classe Article


Question 1. (8 points) Ecrire une classe Article. Cette classe doit définir :
1. 5 champs privés (dont un est statique): denommination de type String, prixHT (correspondant
au prix de l’article hors taxes) de type double, reference de type String ,compteur (statique) de
type int et Taux TVA de type int.
2. Un constructeur protected Article (String denommination, double prixHT, String
Prefixe, int TauxTVA) permettant d’initialiser les trois champs denommination , prixHTet
TauxTVA avec les valeurs de ses trois premiers paramètres. Le champ reference sera initialisé
en exécutant l’instruction suivante : [Link] = prefixe + compteur++ ;
3. Un constructeur protected Article (String denommination, double prixHT, int
TauxTVA) permettant d’initialiser les trois champs denommination, prixHT et TauxTVA avec
les valeurs de ses trois paramètres. Le champ reference sera initialisé avec la valeur du champ
compteur (évidemment après l’avoir transformé en String) qui est incrémenté ensuite.
NB. La méthode [Link](number) permet de convertir un number de type int vers un
String.
4. La méthode double getPrixHT () qui doit retourner la valeur du champ prixHT.
5. Une méthode publique d’accès au champ denommination.
6. Une méthode publique d’accès au champ TauxTVA.
7. Une méthode publique double getPrixTTC () qui doit retourner le prix TTC (toutes taxes
comprises) du produit. Le calcul de prix TTC est déterminé à partir du prix hors taxes et du taux
de la TVA correspondant (prix TTC = prixHT * (1+Taux TVA)).
8. La méthode String toString () qui doit retourner les caractéristiques du produit : sa
denommination, sa reference, son prixHT, son taux de TVA et son prix TTC.

Partie 2. Gestion des Tickets de caisse


Pour générer les tickets (factures) associés aux passages en caisse (un ticket par passage), une
classe Facture a été définie. Cette dernière dispose des champs privés suivants :

2|Page
 articles de type Article [] : tableau stockant les différents articles achetés,
 quantitesArticles de type int [] : tableau contenant les quantités des différents articles
achetés.
NB. La quantité de l’article articles [i] acheté correspond à quantitesArticles [i],
 nbDifferentsArticles: le nombre des articles achetés. Celui-ci correspond au nombre de
cases occupées dans le tableau articles.
Par exemple, pour l’achat de 8 oranges et 3 savons de Marseille, nbDifferentsArticles
est égal à 2. Le nbDifferentsArticles doit être strictement inférieur à
nbMaxArticles=[Link] = [Link].

La classe Facture dispose aussi de la méthode suivante :


Question 2. (2,5points) public boolean addArticle(Article article1, int quantite) qui permet
d’ajouter un nouveau article au tableau articles. Le paramètre quantité sera stocké dans le
tableau quantitesArticles.
Question 3. (2,5points) Ecrire une méthode public double totalHT () permettant de retourner
le montant hors taxes (HT) de tous les articles achetés. Cette méthode doit tenir compte des
quantités des articles stockées dans le tableau quantitesArticles.
Question 4. (2,5points) Ecrire une méthode public double totalTTC () permettant de
retourner le montant TTC de tous les articles achetés.
Question 5. (2,5points) Définir la méthode public void afficher() qui permet d’afficher la liste
des articles achetés, leurs quantités, le total HT et le total TTC.

Bon travail.

3|Page

Vous aimerez peut-être aussi