Vous êtes sur la page 1sur 1

UNIVERSITÉ HASSAN 1er

ECOLE NATIONALE DES SCIENCES APPLIQUEES


KHOURIBGA

Module : Programmation Java Date: 02 juin 2014


Filière : GRT (2ème année)
Contrôle continu N°2
Documents de Cours autorisés
Durée 2 heures

AVERTISSEMENT – Il sera tenu grand compte du soin apporté dans la rédaction des solutions.
Pour chaque réponse, indiquer le numéro de la question traitée.

Exercice 1: Gérer le coût des enseignants d’une université


On veut écrire un programme gérant le coût des enseignants d’une université. Chaque enseignant a
un nom, un prénom et un certains nombre d’heures de cours assurées dans l’année. Il existe
plusieurs catégories d’enseignants. Les enseignants-chercheurs sont payés avec un salaire fixe
(20000 DH par mois pour simplifier) plus le revenu des heures supplémentaires (300 DH de
l’heure). Les heures supplémentaires sont les heures effectuées au-delà des 200h. Ainsi, un
enseignant-chercheur qui donne 220h de cours dans l’année recevra 20000*12+20*300=246000
DH sur l’année.
Les vacataires sont des enseignants venant d’un organisme extérieur à l’université. Cet organisme
est décrit par une chaine de caractères. Les vacataires sont payés 300 DH de l’heure pour toutes
leurs heures.
Les doctorants peuvent assurer des cours et sont payés 200 DH de l’heure, mais ne peuvent
dépasser 100h de cours. Un doctorant qui fait plus de 100h ne recevra que le salaire correspondant à
100h de cours.
Finalement, sur tous les salaires versés, on applique des charges égales à un certain pourcentage du
salaire, ce pourcentage est le même pour tous les enseignants (par exemple 100%, ce qui signifie
que le montant des charges est égal au montant des salaires).
On veut, pour chaque enseignant, pouvoir connaitre ce qu’il coûte à l’université (salaire+charges).
Proposez du code Java qui représente ces informations et soit le plus conforme aux principes de la
programmation objet. Ecrire une classe de test qui contiendra la méthode main().

Exercice 2: Gérer une pile d'entiers


Il s'agit de définir une classe nommée Pile modélisant une pile d'entiers positifs. Tous les
attributs de cette classe auront le modificateur private. Cette classe possède au moins les trois
méthodes suivantes:
 void empiler(int x): Cette méthode empile la valeur x reçue en paramètre.
 int depiler() throws ExceptionPileVide : Si la pile est vide, cette méthode
lance une exception. sinon, elle dépile (supprime) le dernier élément de la pile et retourne sa
valeur,
 boolean estVide(): Cette méthode retourne « true » si la pile est vide et « false » dans
le cas contraire.
Pour les tests, on défini une classe, nommée TestPile qui contiendra la méthode main(). Pour
la pile, on utilise un tableau d'entiers. Au départ, ce tableau aura une taille initiale. En cas de
besoin, il faut agrandir ce tableau: lorsqu'il est plein et que l'on veut encore empiler un entier; on
pourra alors agrandir le tableau d'une quantité déterminée (par exemple égale au double de la taille
du tableau courant).

Said EL KAFHALI Page 1/1

Vous aimerez peut-être aussi