0% ont trouvé ce document utile (0 vote)
6 vues4 pages

Examen de Programmation Java 2022

Transféré par

Taieb Ata
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)
6 vues4 pages

Examen de Programmation Java 2022

Transféré par

Taieb Ata
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

Examen de session principale

Niveau d’étude : 2LM Année Universitaire : 2021/2022


Semestre : 1er Semestre
Matière : Programmation Java
Date : 05/01/2022
Enseignantes : Mme Jihen KHALFALLAH Durée : 1H30
Mme Ameni KHACHEB
Documents : Non autorisés
Nombre de pages : 4
La clarté de la copie rendue sera prise en considération.

QCM (5 points) :

1. Laquelle de ces classes est la plus élevée dans la hiérarchie en Java?

A. [Link]
B. [Link]
C. [Link]
D. [Link]

2. Laquelle de ces classes est en relation à toutes les exceptions qui peuvent être
capturées en utilisant catch?

A. Error
B. Exception
C. RuntimeException
D. Tout les réponses sont vrais

3. Lequel des énoncés suivants est un argument valable pour le constructeur


BufferedInputStream ?

A. File
B. FileReader
C. FileInputStream
D. RandomAccessFile

4. La sérialisation est un procédé qui permet :

A. De faire passer l'état d'un objet dans un flux


B. De convertir un objet en un autre objet
C. De convertir un objet en un document XML

Page 1 / 4
5. Un champ transient est :

A. Un champ dont la valeur ne peut être changée


B. Un champ ignoré lors d'une opération de sérialisation
C. Un champ employé dans un contexte de gestion des exceptions

Problème (15 points) :

On écrira un programme qui gère le stock d'un supermarché.

On suppose qu'on a déjà conçu la description du problème en terme des classes et des
interfaces (voir annexe).

Vous devez d'abord comprendre la hiérarchie des classes et des interfaces comme suit. Cela
est nécessaire pour voir clairement les paramètres de retour des méthodes ainsi que la liste de
leurs arguments.

Voici une spécification du programme en terme des classes et des interfaces:

I. On aura trois interfaces:

1. Vendable par kilogramme: l'interface pour les produits qui se vendent par
kilogramme

o Méthodes:

• vendre: cette méthode reçoit la quantité vendue du produit, retourne le


revenu du supermarché et modifie le stock, sachant que:

revenu = prix de vente * quantité

2. Vendable par pièce: l'interface pour les produits qui se vendent par pièce

o Méthodes:

• vendre

3. Succeptible d'être vendu en solde

o Méthodes:

• lancer le solde: cette méthode baisse le prix du produit par le


pourcentage donné
• terminer le solde: cette méthode baisse le prix du produit par le
pourcentage donné

II. On aura une classe générale des Articles:

o Propriétés:

• prix d'achat: le prix pour lequel le supermarché achète le produit


• prix de vente: le prix pour lequel le supermarché vend le produit
• nom: le nom du produit
Page 2 / 4
• fournisseur: le nom du fournisseur du produit

o Méthodes (autre que le constructeur):

• calculateur du taux de rendement, sachant que:

rendement= (prix de vente - prix d'achat) / prix d'achat

• description des caractéristiques du produit sur l'écran (les prix, le nom,


le fournisseur; rendement)

Cette classe n'implémente aucune interface.


III. On a deux classes dérivées des Articles:

Chaque classe dérivée des articles respecte la règle suivante: au moment de la


construction de l'objet, le stock est vide.

1. La classe des articles élécroménagers

o Propriétés suplémentaires:

• nombre de pièces en stock

o Méthodes supplémentaires (autre que le constructeur):

• remplir le stock: cette méthode reçoit la quantité achetée du produit,


retourne les dépenses du supermarché et modifie le stock, sachant que:

dépenses = prix d'achat * quantité

• description des caractéristiques du produit sur l'écran (les prix, le nom,


le fournisseur; rendement; stock)

Il faut implémenter les interfaces correspondantes à cette classe.

2. La classe des primeurs

o Propriété supplémentaires:

• quantité en stock

o Méthodes supplémentaires:

• remplir le stock
• description des caractéristiques du produit sur l'écran (les prix, le nom,
le fournisseur; rendement; stock)

Il faut implémenter les interfaces correspondantes à cette classe, sachant que les
primeurs ne peuvent pas être vendu en solde.
IV. On a une classe pour les supermarchés:

Au moment de la construction de l'objet, les dépenses et les revenus sont nuls.

Page 3 / 4
o Propriétés:

• dépenses: le coût d'achat des produits


• revenus: les revenus après la vente des produits
• produits: deux vecteurs de deux articles (éléctroménagers et primeurs)

o Méthodes (autre que le constructeur):

• calculateur du taux de rendement, sachant que:

rendement= (Revenu - Dépense) / Dépense

• description de l'état du supermarché (les dépenses, les revenus;


rendement)

Questions :

1. Coder les interfaces et les classes.


2. Développer une classe exécutable « Main » qui créée un supermarché, définit les
articles à vendre, effectue le remplissage du stock et simule les achats.

Annexe :

Diagramme de classe
 Rappel déclaration d'un Vecteur : Vector<String> vect;
vect = new Vector<String>();
 elementAt(int position): retourne l'élément à la position spécifiée
 addElement(Objet): ajoute un élément à la fin du vecteur

Bonne chance !
Page 4 / 4

Vous aimerez peut-être aussi