GÉNIE INFORMATIQUE EXAMEN NATIONAL DE FIN DE FORMATION
|
BTS – GÉNIE
INFORMATIQUE
|
Examen NATIONAL de
Fin de formation
SESSION :
MAI 2011
Matière : programmation
et p.o.o. Durée : 2 heures
PARTIE 1 : poo (c++ / java)
La modélisation de la gestion des contacts
dans un établissement a débouché sur le modèle de la classe « contact » suivante :
A. La classe « contact »:
contact.java
|
|
contact.h
|
class contact {
protected int Num_contact ;
protected String Nom_contact ;
protected int Age_contact ;
protected String Message_contact ;
Public static int compteur=0 ;
public contact(String n,int a) ;
public void Set_Age(int a) ;
public void Set_Message(String
m) ;
public
void afficher() ;}
|
|
class contact{
protected :
int Num_contact ;
char *Nom_contact ;
int Age_contact ;
char *Message_contact ;
public :
static int compteur ;
contact(char *n,int a) ;
void Set_Age(int a) ;
void
Set_Message(char *m) ;
void afficher() ;} ;
int
contact::compteur=0;
|
ü Num_contact : est un entier positif unique qui
désigne chaque contact. Il doit être incrémenté automatiquement à chaque
création d’un nouveau contact.
ü Nom_contact : est le nom du contact. Ce nom ne
pourra pas être modifié une fois créé.
ü Age_contact : L’âge du contact qui doit être compris
entre 18 et 60.
ü Message_contact : Le message envoyé par le contact.
1-
Écrire le code du constructeur par paramètres :
le message du contact est initialisé à
« Pas de Message … ». (1.5 pts)
« Pas de Message … ». (1.5 pts)
2-
Écrire le code de la méthode « Set_Age » qui permet de saisir l’âge du contact tout en vérifiant les contraintes
sur l’âge. (1
pt)
3-
Écrire le code de la méthode « Set_Message » qui permet de saisir le message du contact. (1
pt)
4- Écrire le code de la
méthode « afficher » qui affiche tous les attributs du contact sous
la forme : (1
pt)

Numéro :
Nom :
Age :
Message :
Nom :
Age :
Message :
On suppose qu’un salarié de cette entreprise
peut être aussi un contact interne, ainsi il sera modélisé par la classe
« contact_sal» qui héritera publiquement de la classe « contact».
B. La classe « contact_sal» :
contact_sal.java
|
|
contact_sal.h
|
class contact_sal extends contact{
protected int Matricule ;
protected double Salaire ;
protected boolean Bon_contact ;
public contact_sal() ;
public void Set_Bon_contact() ;
public double Calcul_Salaire() ;
public void affiche() ;}
|
|
class contact_sal : public contact
{ protected :
int
Matricule ;
double Salaire ;
boolean Bon_contact ;
public :
contact_sal(char *n,int a,int m,double
s);
void Set_Bon_contact() ;
double Calcul_Salaire() ;
void affiche() ;} ;
|
5- Écrire le code du
constructeur « contact_sal» qui fait appel au constructeur de la classe « contact » et qui initialise
l’attribut « Bon_contact » à « false ». (1,5 pts)
6- Le contact sera jugé
pertinent si le message du contact est pris en compte par l’établissement. Dans
ce cas l’attribut « Bon_contact » recevra la valeur « true » et le salaire du contact interne sera
augmenté de 10%.
a) Écrire le code de la
méthode « Set_Bon_contact » qui attribue la valeur « true » à l’attribut
« Bon_contact ». (1,5 pts)
b) Écrire une méthode
« Calcul_Salaire » qui retourne le salaire du contact interne suivant
la valeur de l’attribut « Bon_contact ». (1,5 pts)
7- Surcharger la méthode « affiche » de la classe mère pour
afficher tous les attributs de la classe fille. (1 pt)