Vous êtes sur la page 1sur 2

Examen de la première partie

JAVA (1h30)
Variante 1

Exercice 1 : (8pts)

a) Définir une classe HelloWorld qui affiche « Hello World ! » en respectant les conventions
Java. Le main sera dans la classe ClassePrincipale et créera un objet de type HelloWorld
pour tester le code.
b) Même exercice en passant votre nom comme argument de la fonction main.

Exercice 2 : (12pts)

a) Créez une classe Produit correspondant au schéma UML ci-dessous. L'état périssable du
produit sera décrit par un booléen.
Ecrivez et testez la méthode decrisToi() (qui affiche à l’écran le nom, la référence et la
périssabilité du produit) .
Ecrivez les accesseurs en lecture nom():String et perissabilite():boolean.
Faites de même pour les accesseurs en lecture et écriture prix(double):double et
reference(String):String.
Quelle initialisation des attributs utilise Java, par défaut ? Différenciez le cas des données de
types primitifs et données de types références.

Produit
- nom: String
- reference: String
- prix: double
- perissabilite: boolean

+ Produit(String, boolean)
+ decrisToi(): String
+ nom(): String
+ perissabilite(): boolean
+ reference(String) : String

b) Créez une classe TestProduit qui contient le main et qui crée des produits.
Compilez et exécutez en ligne de commande.

c) Surchargez le constructeur de la classe Produit. Pour cela, déclarez et définissez un


constructeur, à quatre paramètres (deux String, un boolean, et un double), utilisant celui
défini en a).

d) Créez une classe Catalogue (à vous de déterminer quelques caractéristiques évidentes


comme l'année du catalogue) qui aura quelques (au moins un) attributs objet de type Produit.

1
Examen de la première partie
JAVA (1h30)
Variante 2

Exercice 1 : (6pts)


Le représentant d’une société de distribution des produits d’affichage électroniques sont
rémunérés de façon suivante :
Un fixe mensuel de 4000 DH
Une commission a pourcentage variable sur chaque tranche du chiffre d’affaire mensuel :
Une commission de 5% pour un chiffre d’affaire compris entre 0 et 1000.
Une commission de 10% pour un chiffre d’affaire compris entre 1000 et 3000.
Une commission de 14% pour un chiffre d’affaire supérieur à 3000.

Écrire un programmer qui permet de calculer et afficher le montant total de la rémunération


de chaque représentant.

Exercice 2 : (4pts)


Quel est le résultat du code suivant :

public class Pass{


static int j = 20;
public static void main (String args[]){
int i = 10;
Pass p = new Pass ();
p.maMethod ( i );
System.out.println ( i );
System.out.println ( j );
}
public void maMethod ( int x ){
x = x * 2;
j = j * 2;
}
}

Exercice 3 : (10pts)


Réaliser une classe utilitaire concernant des tableaux de tableaux de valeurs de type
double et contenant les méthodes statiques suivantes :
 affiche (double t [ ] [ ]) : affiche les valeurs de t, à raison d’une ligne d’écran pour une
ligne du tableau,
 boolean regulier (double t [ ] [ ]) : teste si le tableau t est régulier, c’est-à-dire si toutes
ses lignes ont la même taille,
 double [ ] sommeLignes (double t [ ] [ ]) : fournit un tableau de double correspondant
aux sommes des différentes lignes de t,
 double [ ] [ ] somme (double [ ] [ ] t1, double [ ] [ ] t2) : s’assure que les tableaux t1 et
t2 sont réguliers et de mêmes dimensions et fournit dans ce cas leur somme en
résultat; dans le cas contraire, elle fournit une référence nulle.

Écrire un petit programme de test.

Vous aimerez peut-être aussi