Vous êtes sur la page 1sur 7

OFPPT Office de la Formation Professionnelle et de la Promotion du Travail

Direction Recherche et Ingnierie de la Formation

Examendepassagela2emeanne

SessionJuillet2016

Filire : Techniques de Dveloppement Informatique Epreuve : Synthse


Niveau: TS Variante : V1
Dure : 5 heures Barme : / 120

Partie I : Thorie (40 pts)

Dossier 1: Notions de mathmatiques appliques linformatique (12 pts)

1 Convertir en binaire les nombres suivants (06 pts)


(145)8 ; (A4BE)16, ; (59)10
2 Effectuer en binaire lopration suivante (02 pts)

1011110*11

3 A laide du tableau de Karnaugh, simplifier la fonction H dfinie par sa table de vrit


suivante : (04 pts)

E F G H
0 0 0 1
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 0
1 1 1 1

Filire Epreuve Session 1/7


DI Synthse V1 Juillet 2016
Dossier 2: Techniques de programmation structure (8 pts)

Ecrire un algorithme qui demande lutilisateur de saisir deux tableaux dentiers T1 et T2 de


dimensions respectives A et B, et retourne une matrice dentiers de B lignes sur A colonnes o
chaque case de coordonnes i, j est le rsultat de produit T1[i] avec T2[j] avec le maximum
des deux tableaux. (Voir exemple ci-dessous.)

Exemple :
T1
3 7 4 8
T2
4 10 7 3 8

Le maximum des deux tableaux est 10 :


Le rsultat est :

3 7 4 8
4*3*10 4*7*10
4 160 320
=120 =280
10 300 700 400 800
7 21 490 280 56
3 9 210 120 24
8 240 560 320 64

Dossier 3: Conception et modlisation d'un systme d'information (20 pts)

Ce systme doit permettre aux utilisateurs de saisir leurs charges de dplacement dans un logiciel
de gestion afin dacclrer le traitement de remboursement des charges de dplacement.

Les dpenses des salaris en dplacement peuvent tre de types train, taxi, htel, ou voiture.

Pour tous types de dpenses, le salari doit renseigner la date de dpart, la date de retour, le libell
de la mission, le lieu de destination, montant avec la prise en compte des plafonds par type de
dpense, et la gestion des commentaires expliquant des dpenses exceptionnelles (dpassement de
plafond, impondrables).

Filire Epreuve Session 2/7


DI Synthse V1 Juillet 2016
Le salari est identifi par un numro de matricule, nom, prnom, service, dpartement, et date de
recrutement.

Chaque charge de dplacement est identifie par un numro unique pour toutes rclamations.

Les dpenses des salaris en dplacement avec les voitures personnelles doivent renseigner la
marque, le nombre de chevaux, type de carburant et le numro de plaque.

Chaque charge de dplacement doit tre valide par le responsable hirarchique directe et par le
directeur de la socit.

Le systme doit permettre aux salaris de grer des relances pour garantir des dlais de traitement.

Travail demand.
1 Etablir le dictionnaire de donnes. (06 pts)
2 Etablir le modle conceptuel de donnes correspondant. (08 pts)
3 Etablir le modle logique de donnes associ. (06 pts)

Partie II: Pratique (80 pts)

Dossier 1: Langage de programmation structure (25 pts)

La socit souhaite reprsenter sous forme dun tableau les charges de dplacement de ses
salaris.
Chaque enregistrement de type chargeDplacement est compos dun identifiant, dure,
libell, lieu, montant et statut.
1 Dfinir une structure chargeDplacement pouvant contenir ces informations. (2 pts)
2 Dfinir un tableau de structure HistoriqueChargeDplacement de type
chargeDplacement permettant de reprsenter lensemble des charges de dplacement
des salaris. (utiliser un tableau de taille maximale 20). (1 pt)
3 Ecrire un sous-programme qui permet de saisir un certain nombre de
chargeDplacement dans le tableau structur HistoriqueChargeDplacement. (3 pts)
4 Ecrire un sous-programme qui permet dafficher toutes les charges de dplacement de
HistoriqueChargeDplacement. (3 pts)

Filire Epreuve Session 3/7


DI Synthse V1 Juillet 2016
5 Ecrire un sous-programme qui permet dafficher les informations (identifiant, duree,
mission, lieu, montant, statut) des charges de dplacement ayant le statut en cours .
(3 pts)
6 Ecrire un sous-programme qui permet de calculer le montant global des charges de
dplacement. (3 pts)
7 Ecrire un sous-programme qui permet de Modifier le montant dune charge de
dplacement correspondant un numro donn. (3 pts)

8 Demander lutilisateur de saisir les informations dune charge de dplacement.


Ajouter ensuite cette charge de dplacement au tableau
HistoriqueChargeDplacement. Lajout sera fait dans le bon endroit selon le numro
identifiant (Pour avoir un ordre par numro identifiant). (4 pts)
9 Crer un menu pour appeler les sous-programmes prcdents. (3 pts)

Dossier 2: Langage de programmation Oriente Objet (30 pts)

On souhaite informatiser la gestion des charges de dplacement.


Les classes suivantes sont dj crer :
class Salarie
{
public int identifiant
public string Nom ;
publi string Prenom ;
public string Adresse ;
public string Genre;
public float Age ;
public string service ;
public string departement;
public string Ville ;
public Salarie() { }
public Salarie(int id, string nom, string prenom, string adresse,
string Genre, float Age, string service, string dep,string v)
{ this.identifiant = id; this.Nom = nom;
this.Prenom = prenom; this.Adresse = adresse;
this.Genre = Genre; this.Age = Age;
this.service = service; this.departement = dep;
this.Ville = v;
}

public override string ToString()


{
return "id:"+ this.identifiant + " Nom\n" + this.Nom +
"Prenom\n" + this.Prenom + "Adresse:"+ this.Adresse + " Genre\n" +
this.Genre + "Age\n" +this.Age+ "service:"+ this.service + "Departement\n"
+ this.departement ; "Ville : " + this.Ville} }

Filire Epreuve Session 4/7


DI Synthse V1 Juillet 2016
class Dpense
{

public int Numero;


public string Libell;
public string Lieu;
public string Commentaire;
public float Montant;
public Dpense() { }
public Dpense(int num, string libelle, string lieu, string
commentaire, float montant)
{

this.Numero = num;
this.Libell = libelle;
this.Lieu = lieu;
this.Commentaire = commentaire ;
this.Montant = montant ;
}
public virtual int CalculerCharge ()
{ return montant * taux ; }

public override string ToString()


{
return "Numero:" + this.Numero + " Libell\n" + this.Libell +
"Lieu\n" + this.Lieu + "Commentaire:" + this.Commentaire + " Montant\n" +
this.Montant;
}
}

Nous aurons besoin des classes suivantes :

1. Classe ChargeDplacementVoiture:
a. Crer une classe ChargeDplacementVoiture qui hrite de la classe Dpense et
caractrise par : (2 pts)
Salari : de type salari.
marque: de type chaine de caractres.

nombre de chevaux: de type entier.

numro de plaque: de type chaine de caractres.

Type de carburant: de type chaine de caractres.

Kilomtrage : de type entier.


b. Ecrire un constructeur sans paramtres. (1 pt)
c. crire un constructeur avec tous les paramtres. (2 pts)
d. Ajouter la mthode polymorphe CalculerCharge() qui retourne le
Kilomtrage*11. (2 pts)

Filire Epreuve Session 5/7


DI Synthse V1 Juillet 2016
e. Crer une exception nomme cheveauException qui se dclenche si le nombre de
de chevaux est infrieur 6 ou suprieur 14. (2 pts)
f. Ecrire la mthode ToString() permettant dafficher les informations sur une charge
de dplacement. (1 pt)

2. Classe ListeChargeDplacement:
a. Crer la classe ListeChargeDplacement caractrise par : (2 pts)
Une collection dobjets Dpense.
b. Ajouter un constructeur par dfaut. (1 pt)
c. Crer la mthode Ajouter qui permet dajouter une Dpense en paramtre,
lapplication doit afficher un message de confirmation avant lajout de la
Dpense. (2 pts)
d. Crer la mthode Afficher qui permet dafficher la liste des Dpenses. (2 pts)
e. Crer la mthode Supprimer qui permet de supprimer les informations dune
Dpense en paramtre, lapplication doit afficher un message de confirmation
avant de supprimer une Dpense. (2 pts)
f. Crer la mthode Rechercher qui permet dafficher les Dpenses dont le
montant est suprieur 1000. (3 pts)
3. Programme principal.
a. Afficher le menu permettant daccder aux diffrentes mthodes de la question
prcdentes. (4 pts)
b. Instancier 3 objets de la classe Dpense, Salari,
ChargeDplacementVoiture. (2 pts)
c. Ajouter 3 objets Dpense la collection ListeChargeDplacement. (2 pts)
Dossier 3 : (25 Pts)
En utilisant les classes dfinies dans le Dossier 1, nous proposons linterface graphique
suivante permettant de faciliter la gestion des Charges de Dplacement:

Filire Epreuve Session 6/7


DI Synthse V1 Juillet 2016
1. Ecrire le code du bouton Enregistrer permettant denregistrer la liste des charges de
dplacement dans un fichier texte. (6 pts)

2. Ecrire le code du bouton Afficher permettant dafficher dans la grille les charges de
dplacement dun Lieu slectionne partir de la zone de liste. (6 pts)

3. Ecrire le code ncessaire pour le bouton Supprimer qui permet de supprimer la


charge de dplacement dont le numro est saisie dans le textbox, la suppression doit
tre effectue la fois dans la liste et dans la grille et un message de confirmation doit
tre affich avant de procder la suppression. (7 pts)

4. Ecrire le code ncessaire pour le bouton Total permettant dafficher le montant total
des charges de dplacement enregistres. (6 pts)

Filire Epreuve Session 7/7


DI Synthse V1 Juillet 2016

Vous aimerez peut-être aussi